1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fipa-ra" } */
3 /* Testing -fipa-ra optimization option.  */
4 
5 static int __attribute__((noinline))
bar(int x)6 bar (int x)
7 {
8   return x + 3;
9 }
10 
11 int __attribute__((noinline))
foo(int y)12 foo (int y)
13 {
14   return y + bar (y);
15 }
16 
17 int
main(void)18 main (void)
19 {
20   return !(foo (5) == 13);
21 }
22 
23 /* For thumb1, r3 is considered likely spilled, and treated differently in
24    ira_build_conflicts, which inhibits the fipa-ra optimization.  */
25 /* { dg-final { scan-assembler-times "mov\tr3, r0" 1 { target { ! arm_thumb1 } } } } */
26