This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]