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 6extern void non_existent(int); 7extern void non_existent(int); 8 9static void hooray () 10{ 11 non_existent (1); 12} 13 14static void __attribute__ ((noinline)) hiphip (void (*f)()) 15{ 16 f (); 17} 18 19int __attribute__ ((noinline,noclone)) get_input(void) 20{ 21 return 1; 22} 23 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/* { dg-final { cleanup-ipa-dump "inline" } } */ 35