This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Oct 2009 12:05:35 -0000
- Subject: [Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)
- References: <bug-41377-1771@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from rguenth at gcc dot gnu dot org 2009-10-11 12:05 -------
ehcleanup does not deal with the virtual PHI node appearing in BB13:
# BLOCK 11 freq:4067
# PRED: 10 [100.0%] (fallthru,exec)
D.2166_92 = (int *) D.2165_108;
# .MEM_148 = VDEF <.MEM_106>
D.2148_59 = A::foo (&a, D.2166_92);
# SUCC: 12 [100.0%] (fallthru,exec) 13 (eh,exec)
...
# BLOCK 13
# PRED: 11 (eh,exec)
# .MEM_44 = PHI <.MEM_148(11)>
<L13>:
goto <bb 27> (<L5>);
# SUCC: 27 [100.0%] (fallthru,exec)
...
# BLOCK 27
# PRED: 13 [100.0%] (fallthru,exec) 26 [100.0%] (fallthru,exec)
# .MEM_138 = PHI <.MEM_44(13), .MEM_60(26)>
<L5>:
# .MEM_19 = VDEF <.MEM_138>
operator delete (D.1857_5);
resx 3
# SUCC:
as the comment suggests this should be easy to fix. Honza?
#1 0x0880ed28 in unsplit_eh (lp=0xb7d6c0c0)
at /home/richard/src/trunk/gcc/tree-eh.c:3389
3389 gcc_assert (gimple_seq_empty_p (phi_nodes (bb)));
(gdb) l
3384 /* ??? I can't imagine there would be PHI nodes, since by nature
3385 of critical edge splitting this block should never have been
3386 a dominance frontier. If cfg cleanups somehow confuse this,
3387 due to single edges in and out we ought to have degenerate PHIs
3388 and can easily propagate the PHI arguments. */
3389 gcc_assert (gimple_seq_empty_p (phi_nodes (bb)));
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41377