| /* PR rtl-optimization/110079 */ |
| /* { dg-do compile { target { nvptx-*-* || lra } } } */ |
| /* { dg-options "-O2" } */ |
| /* { dg-additional-options "-freorder-blocks-and-partition" { target freorder } } */ |
| |
| int a; |
| __attribute__((cold)) int bar (char *); |
| __attribute__((hot)) int baz (char *); |
| |
| void |
| foo (void) |
| { |
| l1: |
| while (a) |
| ; |
| bar (""); |
| asm goto ("" : : : : l2); |
| asm (""); |
| l2: |
| goto l1; |
| } |
| |
| void |
| qux (void) |
| { |
| asm goto ("" : : : : l1); |
| bar (""); |
| goto l1; |
| l1: |
| baz (""); |
| } |
| |
| void |
| corge (void) |
| { |
| asm goto ("" : : : : l1); |
| baz (""); |
| l2: |
| return; |
| l1: |
| bar (""); |
| goto l2; |
| } |