1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fno-early-inlining -fdump-ipa-cp-details -fdump-tree-optimized" } */ 3 4 static double global = 0.0; 5 double foo_temp5; 6 foo(double * ptr)7static void foo(double *ptr) { 8 static double abcd; 9 double v, exp_res; 10 v = *ptr; 11 exp_res = __builtin_exp(v); 12 foo_temp5 = exp_res * abcd; 13 abcd += foo_temp5; 14 } 15 16 double last_value; 17 bar(double * ptr)18static void bar(double *ptr) 19 { 20 last_value = *ptr; 21 foo (ptr); 22 } 23 entry()24void entry() 25 { 26 bar (&global); 27 } 28 29 /* { dg-final { scan-ipa-dump "Removed a reference" "cp" } } */ 30 /* { dg-final { scan-ipa-dump "replaced it with LOAD" "cp" } } */ 31 /* { dg-final { scan-tree-dump-not "builtin_exp" "optimized" } } */ 32