1 /* Verify that simple indirect calls are inlined even without early 2 inlining.. */ 3 /* { dg-do compile } */ 4 /* { dg-options "-O3 -c -fdump-ipa-inline -fno-early-inlining" } */ 5 6 extern void non_existent(int); 7 extern void non_existent(int); 8 hooray()9static void hooray () 10 { 11 non_existent (1); 12 } 13 hiphip(void (* f)())14static void __attribute__ ((noinline)) hiphip (void (*f)()) 15 { 16 f (); 17 } 18 get_input(void)19int __attribute__ ((noinline,noclone)) get_input(void) 20 { 21 return 1; 22 } 23 main(int argc,int * argv[])24int main (int argc, int *argv[]) 25 { 26 int i; 27 28 for (i = 0; i < get_input (); i++) 29 hiphip (hooray); 30 return 0; 31 } 32 33 /* { dg-final { scan-ipa-dump "hooray\[^\\n\]*inline copy in hiphip.constprop" "inline" } } */ 34