https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109564

--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
Completely scrapping PHI equivalences will cause

FAIL: gcc.dg/pr102648.c scan-tree-dump-not optimized "foo"
FAIL: gcc.dg/pr103359.c scan-tree-dump-not evrp "c = 0"
FAIL: gcc.dg/tree-ssa/evrp-ignore.c scan-tree-dump-not evrp "kill"
FAIL: gcc.dg/tree-ssa/vrp06.c scan-tree-dump-times vrp1 "Folding predicate
i_[0-9]+.*j_[0-9]+.* to 0" 1

allowing all-equal PHI args doesn't make a difference.

The vrp06.c case for example is

 bb5:
 if (0 != 0)
   bb6: i_16 = ...;
 bb7:
 # i_2 = PHI <i_10(D)(5), i_16(6)>

where i_16 gets undefined_p ().

The equivalence looks OK in this case.  I'm not sure I completely understand
the failure mode yet.

Reply via email to