[Bug tree-optimization/50769] [4.7 Regression] ICE: in phi_alternatives_equal, at tree-cfgcleanup.c:355 with -O2 -fno-delete-null-pointer-checks -fno-guess-branch-probability -fipa-pta

vries at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Oct 18 14:32:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50769

--- Comment #2 from vries at gcc dot gnu.org 2011-10-18 14:32:11 UTC ---
Created attachment 25544
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25544
tentative patch

This PR is similar to PR50672.

We discover that blocks 6 and 7 are equal and remove block 7, and redirect the
outgoing edge of it's predecessor block 11 to block 6. Block 6 contains a phi,
which after redirection looks like this:
...
.MEM_54 = PHI <.MEM_27(18), .MEM_26(17), (11)>
...

Since update_vops is false, we know TODO_update_ssa_only_virtuals will be run
and we don't update the phi. But we need to make the phi argument valid, just
like in PR50672.

The patch sets the empty phi argument to .MEM.



More information about the Gcc-bugs mailing list