blob: 38063f2c17b8f9795c96f520903f84d256f71035 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-cddce -fdump-tree-forwprop1-details" } */
/* LLVM LOCAL test not applicable */
/* { dg-require-fdump "" } */
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 "if " 2 "cddce"} } */
/* { dg-final { cleanup-tree-dump "cddce" } } */