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