111
|
1 /* PR rtl-optimization/54455 */
|
|
2 /* { dg-do compile } */
|
|
3 /* { dg-options "-O1 -fschedule-insns -fselective-scheduling --param max-sched-extend-regions-iters=2" } */
|
|
4 /* { dg-require-effective-target scheduling } */
|
|
5
|
|
6 extern void fn1 (void), fn2 (void);
|
|
7
|
|
8 static inline __attribute__((always_inline)) int
|
|
9 foo (int *x, long y)
|
|
10 {
|
|
11 asm goto ("" : : "r" (x), "r" (y) : "memory" : lab);
|
|
12 return 0;
|
|
13 lab:
|
|
14 return 1;
|
|
15 }
|
|
16
|
|
17 void
|
|
18 bar (int *x)
|
|
19 {
|
|
20 if (foo (x, 23))
|
|
21 fn1 ();
|
|
22 else
|
|
23 fn2 ();
|
|
24
|
|
25 foo (x, 2);
|
|
26 }
|