PR tree-optimization/81303
[official-gcc.git] / gcc / testsuite / gcc.dg / guality / pr54519-2.c
blob4ee3c9e2f84acf940ceebd1c2e2b682bdae65c53
1 /* PR debug/54519 */
2 /* { dg-do run } */
3 /* { dg-options "-g" } */
5 __attribute__((noinline, noclone)) void
6 fn1 (int x)
8 __asm volatile ("" : "+r" (x) : : "memory");
11 static int
12 fn2 (int x, int y)
14 if (y)
16 fn1 (x); /* { dg-final { gdb-test 17 "x" "6" } } */
17 fn1 (x); /* { dg-final { gdb-test 17 "y" "25" } } */
18 fn1 (x);
19 fn1 (x);
20 y = -2 + x;
21 y = y * y * y + y;
22 fn1 (x + y); /* { dg-final { gdb-test 22 "y" "68" } } */
24 return x;
27 __attribute__((noinline, noclone)) int
28 fn3 (int x, int y)
30 return fn2 (x, y) + y;
33 __attribute__((noinline, noclone)) int
34 fn4 (int x, int y)
36 return fn2 (x, y) + y;
39 int
40 main ()
42 fn3 (6, 25);
43 fn4 (4, 117);
44 return 0;