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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
          Component|middle-end                  |fortran

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
This is value-numbering running into --param sccvn-max-alias-queries-per-access
(default 1000).  If you shrink this value compile-time gets faster if you
increase it it gets slower.

And yes, this is because value-numbering of the memory state of the function
is quadratic in the number of stores and loads.

The FE should apply some more sensible cost model when deciding to "unroll"
the array operation.  In this case it's code-size prohibitive.

The middle-end behaves as designed (limiting itself with respect to
compile-time).

Reply via email to