/* { dg-do compile } */ | |
/* { dg-options "-O2 -fipa-ra" } */ | |
/* Testing -fipa-ra optimization option. */ | |
static int __attribute__((noinline)) | |
bar (int x) | |
{ | |
return x + 3; | |
} | |
int __attribute__((noinline)) | |
foo (int y) | |
{ | |
return y + bar (y); | |
} | |
int | |
main (void) | |
{ | |
return !(foo (5) == 13); | |
} | |
/* For thumb1, r3 is considered likely spilled, and treated differently in | |
ira_build_conflicts, which inhibits the fipa-ra optimization. */ | |
/* { dg-final { scan-assembler-times "mov\tr\[123\], r0" 1 { target { ! arm_thumb1 } } } } */ |