blob: 5e8ed0b434adb202d9c179c20888a9a90430b66b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/* { dg-options "-O2" } */
/* PR optimization/11536 */
/* Origin: samal@kam.mff.cuni.cz <samal@kam.mff.cuni.cz> */
/* Testcase by Andrew Pinski <pinskia@physics.uc.edu> */
/* Verify that the loop optimizer doesn't use moving targets
to calculate the number of iterations of a loop. */
extern void abort(void);
void foo(int) __attribute__((__noinline__));
void foo(int i)
{
abort();
}
int main()
{
int i;
int first= 0;
int last= 0;
while (last<3) {
last = first;
while (first<=last) {
first++;
for (i=0;i<3;i++)
last++;
if (last>10)
return 0;
}
foo(first);
}
return 0;
}
|