[Bug middle-end/80539] [5/6/7/8 Regression] gcc ICE at -O2 and above on valid code on x86_64-linux-gnu in "chrec_fold_plus_poly_poly"

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 27 08:55:00 GMT 2017


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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Hmm, SCEV analysis relies on loop-closed SSA form to handle expressions in
outer loops that use inner loop final values.  Otherwise we miss to do the
required compute_overall_effects_of_inner_loop which is triggered by exit
PHIs being present.

That means effectively everyone doing niter analysis needs loop-closed SSA
form :/

Or we make SCEV analysis more resistant, in this case instead of asserting
return chrec_dont_know.

Testing patch.


More information about the Gcc-bugs mailing list