[Bug tree-optimization/108825] [13 Regression] error during GIMPLE pass: unrolljam
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Feb 20 08:53:27 GMT 2023
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).
More information about the Gcc-bugs
mailing list