1 /* { dg-do compile } */ 2 /* { dg-options "-O -fdump-tree-fre1" } */ 3 4 int x = 1; fn()5int __attribute__((noinline,noclone)) fn () 6 { 7 return x; 8 } 9 int (*f)(); main()10int main () 11 { 12 int res; 13 f = fn; 14 x = 0; 15 res = f (); 16 res += x; 17 if (res != 0) 18 __builtin_abort (); 19 return 0; 20 } 21 22 /* We should be able to optimize the load from x in main and thus the 23 addition. */ 24 25 /* { dg-final { scan-tree-dump-times "= x;" 1 "fre1" } } */ 26 /* { dg-final { scan-tree-dump-times " \\\+ " 0 "fre1" } } */ 27