libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / pr110079.c
blobf87064d5f2ce50e5f3a3e89b54e79e96ad607282
1 /* PR rtl-optimization/110079 */
2 /* { dg-do compile { target { nvptx-*-* || lra } } } */
3 /* { dg-options "-O2" } */
4 /* { dg-additional-options "-freorder-blocks-and-partition" { target freorder } } */
6 int a;
7 __attribute__((cold)) int bar (char *);
8 __attribute__((hot)) int baz (char *);
10 void
11 foo (void)
13 l1:
14 while (a)
16 bar ("");
17 asm goto ("" : : : : l2);
18 asm ("");
19 l2:
20 goto l1;
23 void
24 qux (void)
26 asm goto ("" : : : : l1);
27 bar ("");
28 goto l1;
29 l1:
30 baz ("");
33 void
34 corge (void)
36 asm goto ("" : : : : l1);
37 baz ("");
38 l2:
39 return;
40 l1:
41 bar ("");
42 goto l2;