libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / ssa-lim-22.c
blob16ba4ceb8ab478ff460efadd77a3946909b5acb8
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-lim2-details" } */
4 volatile int x;
5 volatile int y;
6 void
7 bar (int, char *, char *);
8 void
9 foo (int *a, int n, int m, int s, int t)
11 int i;
12 int j;
13 int k;
15 for (i = 0; i < m; i++) // Loop 1
17 if (__builtin_expect (x, 0))
18 for (j = 0; j < n; j++) // Loop 2
19 if (__builtin_expect (y, 0))
20 for (k = 0; k < n; k++) // Loop 3
22 bar (s / 5, "one", "two");
23 a[t] = s;
25 a[t] = t;
29 /* { dg-final { scan-tree-dump-times "out of loop 3" 4 "lim2" } } */
30 /* { dg-final { scan-tree-dump-times "out of loop 1" 3 "lim2" } } */