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 target/51106] [4.5/4.6 Regression] ICE in move_insn, at haifa-sched.c:2314


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

--- Comment #18 from Andrey Belevantsev <abel at gcc dot gnu.org> 2012-03-27 14:08:23 UTC ---
(In reply to comment #17)
> Looks reasonable.  Though I think that whoever removed the fallthru
> edge should have adjusted the flags on the others.
That's simply delete_basic_block at cfgcleanup.c:2612 -- we have block 2 with
two successors 4 and 5, and block 4 is trivially dead (empty, no succ, etc.),
so when removing block 4 we just remove the 2->4 edge which is the only
fallthru one.  Which seems fine as the asm in question is seen by the rest of
code as an unconditional jump then.  Only when we remove it, we get no jump and
still no fallthru bit, which confuses purge_dead_edges.


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