[llvm] r257730 - [X86] Don't alter HasOpaqueSPAdjustment after we've relied on it

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 14 09:47:17 PST 2016


I'd like to merge this to 3.8. Nadav, is this OK for you as code owner?

Thanks,
Hans

On Wed, Jan 13, 2016 at 5:20 PM, David Majnemer via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: majnemer
> Date: Wed Jan 13 19:20:03 2016
> New Revision: 257730
>
> URL: http://llvm.org/viewvc/llvm-project?rev=257730&view=rev
> Log:
> [X86] Don't alter HasOpaqueSPAdjustment after we've relied on it
>
> We rely on HasOpaqueSPAdjustment not changing after we've calculated
> things based on it.  Things like whether or not we can use 'rep;movs' to
> copy bytes around, that sort of thing.  If it changes, invariants in the
> backend will quietly break.  This situation arose when we had a call to
> memcpy *and* a COPY of the FLAGS register where we would attempt to
> reference local variables using %esi, a register that was clobbered by
> the 'rep;movs'.
>
> This fixes PR26124.


More information about the llvm-commits mailing list