blob: 50d18e73c06c0c15cdee15bbb22c44a1d43d7d15 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-cddce2 -fdump-tree-forwprop1-details" } */
int abarney[2];
int afred[1];
void foo(int edx, int eax)
{
if (eax == 100)
{
if (edx == 1)
{
abarney[0] = 5;
abarney[1] = 6;
}
}
if (eax == 100)
{
if (-- edx == 0)
afred[0] = 2;
}
}
/* Verify that we did a forward propagation. */
/* { dg-final { scan-tree-dump-times "Replaced" 1 "forwprop1"} } */
/* { dg-final { cleanup-tree-dump "forwprop1" } } */
/* After cddce we should have two IF statements remaining as the other
two tests can be threaded. */
/* { dg-final { scan-tree-dump-times " == " 2 "cddce2"} } */
/* { dg-final { scan-tree-dump-times " & " 1 "cddce2"} } */
/* { dg-final { cleanup-tree-dump "cddce1" } } */