This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/51106] [4.5/4.6 Regression] ICE in move_insn, at haifa-sched.c:2314
- From: "abel at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 27 Mar 2012 12:42:06 +0000
- Subject: [Bug target/51106] [4.5/4.6 Regression] ICE in move_insn, at haifa-sched.c:2314
- Auto-submitted: auto-generated
- References: <bug-51106-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51106
Andrey Belevantsev <abel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |rguenth at gcc dot gnu.org
Resolution|FIXED |
Target Milestone|4.5.4 |4.8.0
Known to fail| |4.8.0
--- Comment #13 from Andrey Belevantsev <abel at gcc dot gnu.org> 2012-03-27 12:42:06 UTC ---
It's failing not only on sh, but on x86-64 too, started with (no surprise here)
r185564:
2012-03-20 Richard Guenther <rguenther@suse.de>
* tree-pass.h (pass_rtl_eh): Remove.
Richard, the issue here was that when removing the wrong asm jump, we need also
to fixup the cfg. This can be done by the purge_dead_edges call because as
Jakub mentioned in comment #3 the basic block with the asm has two successor
edges, one of them is fallthru. After your patch (probably because of the new
call to cleanup_cfg) there is no more fallthru edge but a single edge. Which
blows up purge_dead_edges called from delete_insn_and_edges. So probably
purge_dead_edges should be fixed to expect not having a fallthru edge -- Jakub
may have more context here.