[Bug rtl-optimization/51069] [4.7 Regression] ICE in verify_loop_structure, at cfgloop.c:1559
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 5 12:46:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51069
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-05 12:46:05 UTC ---
CCing Honza, not familiar enough with remove_path/unroll.
#0 unloop (loop=0x7ffff133d880, irred_invalidated=0x7fffffffdeef "") at
../../gcc/cfgloopmanip.c:797
#1 0x0000000000675e53 in remove_path (e=0x7ffff146c900) at
../../gcc/cfgloopmanip.c:319
#2 0x00000000009ae07f in peel_loop_completely (loop=0x7ffff133d880) at
../../gcc/loop-unroll.c:514
#3 0x00000000009ad89f in peel_loops_completely (flags=2) at
../../gcc/loop-unroll.c:256
#4 0x00000000009ad640 in unroll_and_peel_loops (flags=2) at
../../gcc/loop-unroll.c:165
#5 0x00000000009a07e4 in rtl_unroll_and_peel_loops () at
../../gcc/loop-init.c:329
is called with
loop_2 (header = 6, latch = 21, niter = )
{
bb_6 (preds = {bb_21 bb_45 }, succs = {bb_9 bb_7 })
bb_9 (preds = {bb_6 }, succs = {bb_10 bb_11 })
bb_11 (preds = {bb_9 }, succs = {bb_21 bb_12 })
bb_21 (preds = {bb_11 }, succs = {bb_6 })
}
where bb_4, bb_12, bb_13 and bb_14 are BB_IRREDUCIBLE_LOOP, before this unroll
call verify_loop_structure passes, after it already fails. Of course calling
mark_irreducible_loops () after peel_loops_completely () fixes this up and let
the testcase pass, but remove_path/unroll should figure it out if it
invalidates this property.
More information about the Gcc-bugs
mailing list