blob: c520e34d809ccc010e6d0bf3820ea1fed8f12107 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3 -fno-early-inlining -fdump-ipa-cp-details -fdump-tree-optimized" } */
static double global = 0.0;
double foo_temp5;
static void foo(double *ptr) {
static double abcd;
double v, exp_res;
v = *ptr;
exp_res = __builtin_exp(v);
foo_temp5 = exp_res * abcd;
abcd += foo_temp5;
}
double last_value;
static void bar(double *ptr)
{
last_value = *ptr;
for (unsigned i = 0; i < 200; i++)
foo (ptr);
}
void entry()
{
bar (&global);
}
void decoy(double *ptr)
{
bar (ptr);
}
/* { dg-final { scan-ipa-dump "Removed a reference" "cp" } } */
/* { dg-final { scan-ipa-dump "replaced it with LOAD" "cp" } } */
/* { dg-final { scan-tree-dump-times "builtin_exp" 1 "optimized" } } */