https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87902
--- Comment #5 from Ilya Leoshkevich <iii at linux dot ibm.com> --- By the time shrink-wrapping is performed, which is after LRA (pass_thread_prologue_and_epilogue, to be precise), aren't all spilling decisions already made? Because if that's true, we have to be conservative in prepare_shrink_wrap () anyway, and move down copies only when the parameter register still contains the parameter value.