PR middle-end/77357 - strlen of constant strings not folded
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / ipa-split-5.c
blob2d713d6f574d6d1a627d3ef0e0de4e5179c05702
1 /* { dg-do compile { target nonpic } } */
2 /* { dg-options "-O3 -fdump-tree-fnsplit -fdump-tree-optimized --param=builtin-expect-probability=100" } */
4 struct a {int a,b;};
5 struct a make_me_big (int a);
6 struct a split_me (int a)
8 struct a retval;
9 if (__builtin_expect (a!=0,1))
11 retval.a = 0;
12 retval.b = 0;
13 return retval;
15 else
17 struct a retval = make_me_big (a);
18 retval = make_me_big (a);
19 retval = make_me_big (a);
20 retval = make_me_big (a);
21 retval = make_me_big (a);
22 retval = make_me_big (a);
23 retval = make_me_big (a);
24 retval = make_me_big (a);
25 retval = make_me_big (a);
26 retval = make_me_big (a);
27 retval = make_me_big (a);
28 retval = make_me_big (a);
29 retval = make_me_big (a);
30 retval = make_me_big (a);
31 retval = make_me_big (a);
32 retval = make_me_big (a);
33 retval = make_me_big (a);
34 retval = make_me_big (a);
35 retval = make_me_big (a);
36 retval = make_me_big (a);
37 retval = make_me_big (a);
38 retval = make_me_big (a);
39 retval = make_me_big (a);
40 return retval;
43 int val;
44 void
45 test()
47 split_me (val);
48 split_me (val);
49 split_me (val);
50 split_me (val);
52 /* { dg-final { scan-tree-dump-times "Splitting function" 1 "fnsplit"} } */
53 /* { dg-final { scan-tree-dump "part" "optimized"} } */