------- Comment #3 from roberto dot costa at st dot com 2006-10-05 08:15 ------- I tested what happens if the first PHI-OPT pass is moved right before the first VRP pass in gcc/passes.c
It looks like PHI-OPT should be run both before and after VRP and DOM. The example reported shows that, when PHI-OPT is run after VRP and DOM, it misses some MAX_EXPR and MIN_EXPR generation. gcc/testsuite/gcc.dg/tree-ssa/phi-opt-5.c shows that, when PHI-OPT anticipates VRP and DOM, it misses some MAX_EXPR and MIN_EXPR generation as well. Should an additional PHI-OPT pass be added before VRP and DOM? (In this case, a few testsuite examples should also be changed in order to consider what happens after PHI-OPT2 instead of PHI-OPT1) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29333