1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-dce2 -fdump-tree-forwprop1-details" } */
3 
4 int abarney[2];
5 int afred[1];
6 
foo(int edx,int eax)7 void foo(int edx, int eax)
8 {
9   if (eax == 100)
10     {
11       if (edx == 1)
12         {
13           abarney[0] = 5;
14           abarney[1] = 6;
15         }
16     }
17   if (eax == 100)
18     {
19       if (-- edx == 0)
20         afred[0] = 2;
21     }
22 }
23 
24 
25 /* Verify that we did a forward propagation.  */
26 /* { dg-final { scan-tree-dump-times "gimple_simplified" 1 "forwprop1"} } */
27 
28 /* After dce we should have two IF statements remaining as the other
29    two tests can be threaded.  */
30 /* { dg-final { scan-tree-dump-times "if " 2 "dce2"} } */
31