53 lines
828 B
C
53 lines
828 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -fdump-tree-vrp1-details" } */
|
|
|
|
extern void abort ();
|
|
int tree_code_length[100];
|
|
|
|
blah (int code1)
|
|
{
|
|
unsigned char D18670;
|
|
|
|
if (code1 != 53) goto L0; else goto L1;
|
|
|
|
L0:
|
|
abort ();
|
|
|
|
L1:
|
|
D18670 = tree_code_length[53];
|
|
if (D18670 <= 1) goto L2; else goto L3;
|
|
|
|
L2:
|
|
abort ();
|
|
|
|
L3:
|
|
if (D18670 == 2) goto L4; else goto L5;
|
|
|
|
L4:
|
|
abort ();
|
|
|
|
L5:
|
|
arf ();
|
|
if (code1 != 53) goto L6; else goto L7;
|
|
|
|
L6:
|
|
abort ();
|
|
|
|
L7:
|
|
if (D18670 <= 2) goto L8; else goto L9;
|
|
|
|
L8:
|
|
abort ();
|
|
|
|
L9:
|
|
return;
|
|
|
|
}
|
|
|
|
/* The second test of (code1 != 53) and the test (D18670 <= 2) are
|
|
both totally subsumed by earlier tests and thus should be folded
|
|
away using VRP. */
|
|
/* { dg-final { scan-tree-dump-times "Folding predicate" 2 "vrp1" } } */
|
|
/* { dg-final { cleanup-tree-dump "vrp1" } } */
|
|
|