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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|needs-bisection             |

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue is that unroll-and-jam applies RPO VN on the transformed body but
that leaves the IL in "indetermined" state (it returns a TODO to make it valid
again).  But unroll-and-jam then continues to transform another loop and
in using the tree_unroll_loop helper runs into tree_transform_and_unroll_loop
performing IL checking

  checking_verify_flow_info ();
  checking_verify_loop_structure ();
  checking_verify_loop_closed_ssa (true, loop);
  if (new_loop)
    checking_verify_loop_closed_ssa (true, new_loop);

in particular the loop-specific LC SSA verifiers run function-wide SSA
verification.

In generally IL verification in these kind of helpers is frowned upon since
it easily results in quadraticness when checking is enabled.

I'm "fixing" the loop-local LC SSA verifier to not perform function-wide
SSA verification but the real fix would be to delete all of the above
(and rely on after-pass IL verification).

Reply via email to