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

--- Comment #21 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #20)
> Vlad, your thoughts on this?  Can it be done in LRA or postreload-gcse or
> some other post-LRA pass (if they do have loops)?

I don't think it can be done easily after RA.  There are no optimizations
working with loops after IRA.  postreload-gcse is very simple pass working with
loads/stores.  It is hard to modify it (e.g. into PRE) to do invariant motion.
Probably we could repeat loop invariant motion pass again after LRA but it
needs investigation and running such heavy pass for rare cases may be doubtful.

I don't think that this PR will be fixed for GCC-8 or even later.  It will be
hard to justify compilation slowdown without visible performance improvements
for example on SPEC.

Reply via email to