https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68619

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #4 from Jeffrey A. Law <law at redhat dot com> ---
r228739 may have been the trigger, but I think it's uncovering a latent bug in
DOM.  At first glance it looks like DOM is removing an edge when it simplifies
a conditional.  That in turn seems to expose two subloops that were previously
ignored because they were irreducible -- with the edge removed, those two
subloops become reducible.

Once the loops are reducible, the loop optimizer wants them to have proper loop
structures.  They don't and verify_loop_structure aborts. 

Richi had the suggestion that we should defer those particular CFG
manipulations in DOM, which has been on my TODO list.  That fixes this problem
(the CFG cleanup code will set LOOPS_NEED_FIXUP, which DOM avoids per Richi's
request). 

I've been wanted to analyze any unexpected side effects of doing that, so, now
seems to be the right time.

Reply via email to