libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / inline-4.c
blobdb4cfc6b8addc6e1bc15fd5bbb0ccbd14b5eda0a
1 /* { dg-do compile } */
2 /* { dg-options "-Os -c -fdump-ipa-inline-all -fopt-info-inline -fno-early-inlining -fno-partial-inlining -fno-ipa-cp" } */
3 /* { dg-add-options bind_pic_locally } */
5 void work_hard (void);
7 void do_something (int shall_i_work)
9 if (shall_i_work)
11 work_hard ();
12 work_hard ();
13 work_hard ();
14 work_hard ();
15 work_hard ();
16 work_hard ();
17 work_hard ();
18 work_hard ();
21 int foo (int invariant)
23 do_something (0); // { dg-optimized "Inlined do_something/\[0-9]+ into foo/\[0-9]+" }
24 do_something (1);
28 /* We should inline do_something(0), but not do_something (1). */
29 /* { dg-final { scan-ipa-dump "Inlined 1 calls, eliminated 0 functions" "inline" } } */
30 /* Call to work_hard should be detected as optimized out. */
31 /* { dg-final { scan-ipa-dump-times "predicate: .false." 8 "inline" } } */