46 lines
775 B
C
46 lines
775 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -fdump-tree-vrp1-details" } */
|
|
|
|
blah (int code1, int code2)
|
|
{
|
|
int i;
|
|
int n_sets;
|
|
|
|
n_sets = (int) (code1 == 32);
|
|
if (code2 == 64) goto L2; else goto L3;
|
|
|
|
L2:
|
|
aa ();
|
|
|
|
L3:
|
|
if (n_sets > 1) goto L4; else goto L10;
|
|
|
|
L4:
|
|
aos ();
|
|
i = 0;
|
|
goto L24;
|
|
|
|
L10:
|
|
if (n_sets > 0) goto L25; else goto L8;
|
|
|
|
L25:
|
|
i = 0;
|
|
|
|
L24:
|
|
aob ();
|
|
i = i + 1;
|
|
if (i < n_sets) goto L24; else goto L8;
|
|
|
|
L8:
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
/* The n_sets > 0 test can be simplified into n_sets == 1 since the
|
|
only way to reach the test is when n_sets <= 1, and the only value
|
|
which satisfies both conditions is n_sets == 1. */
|
|
/* { dg-final { scan-tree-dump-times "Simplified relational" 1 "vrp1" } } */
|
|
/* { dg-final { cleanup-tree-dump "vrp1" } } */
|
|
|