1 /* Verify that logic combining probabilities works as expected. */
2 /* { dg-do compile } */
3 /* { dg-options "-O3 -c -fdump-ipa-inline -fno-early-inlining" } */
5 struct bah
{int a
,b
,d
;};
6 void test3 (int, int, int, int, int);
8 __attribute__ ((noinline
))
9 void test(int a
,int b
,int c
,int d
,int e
)
14 static void bar (int parm1
, int parm2
)
17 for (i
= 0; i
<10; i
++)
19 test (0,0,parm1
,parm2
,i
);
22 void foo (int invariant
)
25 for (i
= 0; i
<10; i
++)
30 /* After inlining bar into foo, op2 is invariant within inner loop. */
31 /* { dg-final { scan-ipa-dump "op2 change 10.000000. of time" "inline" } } */
32 /* After inlining bar into foo, op3 is invariant within both loops. */
33 /* { dg-final { scan-ipa-dump "op3 change 1.000000. of time" "inline" } } */
34 /* { dg-final { cleanup-ipa-dump "inline" } } */