On Fri, Nov 18, 2016 at 03:07:27AM -0600, Segher Boessenkool wrote: > rtl_merge_blocks does not check rtl_can_merge_blocks_p (and you get a > quite spectacular ICE when you get it wrong: everything between the two > blocks is deleted :-) ). I'll make a separate patch that checks it > (layout mode already does).
This fails in cfgcleanup.c (in merge_blocks_move_successor_nojumps), on the "a->next_bb == b" test. Oh well. Segher