libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / ssa-lim-13.c
blob65aa7457704d77148aa7d817a4fcfea9ff7b0911
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fgimple -fdump-tree-lim2-details" } */
4 int __GIMPLE (ssa,startwith("lim"))
5 foo (int x, int n)
7 int i;
8 int r;
9 int _1;
10 int _2;
11 int _6;
13 __BB(2):
14 goto __BB7;
16 __BB(3):
17 if (i_5 == 17)
18 goto __BB8;
19 else
20 goto __BB4;
22 __BB(4):
23 _1 = i_5 & 1;
24 if (_1 != 0)
25 goto __BB5;
26 else
27 goto __BB6;
29 __BB(5):
30 _2 = __ABS x_8(D);
31 r_9 = _2 / 5;
32 goto __BB6;
34 __BB(6):
35 r_3 = __PHI (__BB5: r_9, __BB4: r_4);
36 i_10 = i_5 + 1;
37 goto __BB7;
39 __BB(7,loop_header(1)):
40 r_4 = __PHI (__BB2: 1, __BB6: r_3);
41 i_5 = __PHI (__BB2: 0, __BB6: i_10);
42 if (i_5 < n_7(D))
43 goto __BB3;
44 else
45 goto __BB8;
47 __BB(8):
48 _6 = __PHI (__BB3: 0, __BB7: r_4);
49 return _6;
52 /* { dg-final { scan-tree-dump-times "Moving statement" 2 "lim2" } } */
53 /* { dg-final { scan-tree-dump "ABSU_EXPR" "lim2" } } */