OSDN Git Service

2010-01-26 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / vrp25.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1-details" } */
3
4 extern void abort ();
5 int tree_code_length[100];
6
7 blah (int code1)
8 {
9   unsigned char D18670;
10
11   if (code1 != 53) goto L0; else goto L1;
12
13 L0:
14   abort ();
15
16 L1:
17   D18670 = tree_code_length[53];
18   if (D18670 <= 1) goto L2; else goto L3;
19
20 L2:
21   abort ();
22
23 L3:
24   if (D18670 == 2) goto L4; else goto L5;
25
26 L4:
27   abort ();
28
29 L5:
30   arf ();
31   if (code1 != 53) goto L6; else goto L7;
32
33 L6:
34   abort ();
35
36 L7:
37   if (D18670 <= 2) goto L8; else goto L9;
38
39 L8:
40   abort ();
41
42 L9:
43   return;
44
45 }
46
47 /* The second test of (code1 != 53) and the test (D18670 <= 2) are
48    both totally subsumed by earlier tests and thus should be folded
49    away using VRP.  */
50 /* { dg-final { scan-tree-dump-times "Folding predicate" 2 "vrp1" } } */
51 /* { dg-final { cleanup-tree-dump "vrp1" } } */
52