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.