[Bug tree-optimization/88361] gcc does not unroll loop
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 5 09:42:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88361
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-12-05
CC| |rguenth at gcc dot gnu.org
Component|middle-end |tree-optimization
Ever confirmed|0 |1
Severity|normal |enhancement
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Well, 9*9 == 81 is simply above the hard limit we put on the number of unrolled
iterations (controlled by --param max-completely-peel-times where the default
is 16). For a loop nest the limit is applied to individual loops which
explains
why you may see a total of 81 scalar iterations unrolled.
One could say we have too many individual knobs (we do!) and that the number
of copies limit is pointless since we have a size limit as well. But that
doesn't work for the case where GCC thinks the loop shrinks by unrolling it.
But yes, improvements are possible here (esp. with inner body unroll times
in a nest vs. non-nest).
More information about the Gcc-bugs
mailing list