PR middle-end/77357 - strlen of constant strings not folded
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / remref-1b.c
blobdfde800cfe720d2837d3acf4047fd758b1ccd606
1 /* Verify that indirect inlining can also remove references of the functions it
2 discovers calls for, even when nodes being inlined are virtual IPA-CP
3 clones. */
4 /* { dg-do compile } */
5 /* { dg-options "-O3 -fno-early-inlining -fdump-ipa-cp-details -fdump-ipa-inline -fdump-tree-optimized" } */
7 int global;
9 void __attribute__ ((noinline, noclone, used))
10 stuff (int i)
12 global = i;
15 static void hooray ()
17 stuff (1);
20 static void hiphip (void (*f)())
22 stuff (2);
23 f ();
26 int main (void)
28 hiphip (hooray);
29 return 0;
32 /* { dg-final { scan-ipa-dump "removing its cloning-created reference" "cp" } } */
33 /* { dg-final { scan-ipa-dump "ipa-prop: Removed a reference" "inline" } } */
34 /* { dg-final { scan-tree-dump-not "hooray" "optimized" } } */