| /* PR rtl-optimization/54455 */ | |
| /* { dg-do compile } */ | |
| /* { dg-options "-O1 -fschedule-insns -fselective-scheduling --param max-sched-extend-regions-iters=2" } */ | |
| /* { dg-require-effective-target scheduling } */ | |
| extern void fn1 (void), fn2 (void); | |
| static inline __attribute__((always_inline)) int | |
| foo (int *x, long y) | |
| { | |
| asm goto ("" : : "r" (x), "r" (y) : "memory" : lab); | |
| return 0; | |
| lab: | |
| return 1; | |
| } | |
| void | |
| bar (int *x) | |
| { | |
| if (foo (x, 23)) | |
| fn1 (); | |
| else | |
| fn2 (); | |
| foo (x, 2); | |
| } |