1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-ipa-sra" } */
9 extern void leaf_a (int );
10 extern void leaf_b (int, int);
11 extern void leaf_c (int, int);
13 extern void leaf_sa (struct S
);
15 static void baz (int i
, int j
, int k
, int l
, struct S a
, struct S b
);
19 static void __attribute__((noinline
))
20 foo (int i
, int j
, int k
, int l
, struct S a
, struct S b
)
23 baz (i
, j
, k
, l
, a
, b
);
26 static void __attribute__((noinline
))
27 bar (int i
, int j
, int k
, int l
, struct S a
, struct S b
)
29 foo (i
, j
, k
, l
, a
, b
);
34 static void __attribute__((noinline
))
35 baz (int i
, int j
, int k
, int l
, struct S a
, struct S b
)
38 bar (i
, j
, k
, l
, a
, b
);
43 entry (int i
, int j
, int k
, int l
, struct S a
, struct S b
)
45 foo (i
, j
, k
, l
, a
, b
);
48 /* { dg-final { scan-ipa-dump-times "Will remove parameter 1" 3 "sra" } } */
49 /* { dg-final { scan-ipa-dump-times "Will remove parameter 4" 3 "sra" } } */