/* { dg-do compile } */ /* ethread threading does not yet catch this but it might at some point. */ /* { dg-options "-O -fdump-tree-fre1-details -fno-thread-jumps" } */ int foo (int b, int x) { int i, j; if (b) i = x; if (b) j = x; return j == i; } /* Even with different undefs we should CSE a PHI node with the same controlling condition. */ /* { dg-final { scan-tree-dump "Replaced redundant PHI node" "fre1" } } */ /* { dg-final { scan-tree-dump "return 1;" "fre1" } } */