Fortran: Fix regression caused by r14-10477 [PR59104]
[official-gcc.git] / gcc / testsuite / gcc.dg / guality / ipa-sra-1.c
blob55267c6f8380a8003e36d1c32d64aaf3b3517b7e
1 /* { dg-do run } */
2 /* { dg-options "-g -fno-ipa-icf" } */
4 int __attribute__((noipa))
5 get_val1 (void) {return 20;}
6 int __attribute__((noipa))
7 get_val2 (void) {return 7;}
9 void __attribute__((noipa))
10 use (int x)
12 asm volatile ("" : : "r" (x) : "memory");
15 static int __attribute__((noinline))
16 bar (int i, int k)
18 asm ("" : "+r" (i));
19 use (i); /* { dg-final { gdb-test . "k" "3" { xfail { ! { *-*-*-* && { any-opts "-O0" "-O1" "-Og" } } } } } } */
20 return 6 + get_val1();
23 volatile int v;
25 static int __attribute__((noinline))
26 foo (int i, int k)
28 int r;
29 v = 9;
30 k = (k + 14)/k;
31 r = bar (i, k); /* { dg-final { gdb-test . "k" "3" } } */
32 return r;
35 volatile int v;
37 int
38 main (void)
40 int k = get_val2 ();
41 int r = foo (get_val1 (), k);
42 v = r + k; /* k has to live accross the call or all is probably lost */
43 return 0;