[AArch64][WinCFI] Do not pair callee-save instructions in LoadStoreOptimizer
authorSander de Smalen <sander.desmalen@arm.com>
Wed, 7 Aug 2019 12:41:38 +0000 (12:41 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Wed, 7 Aug 2019 12:41:38 +0000 (12:41 +0000)
commit1d2bfa4a868b52aa19a597427947eb508e8da791
tree8c10922700b916f64b9cd38e9d3b8d9d1d640b80
parente9719f9e9e96c8822acdefc3dfaf73a6b8fe5a15
[AArch64][WinCFI] Do not pair callee-save instructions in LoadStoreOptimizer

Prevent the LoadStoreOptimizer from pairing any load/store instructions with
instructions from the prologue/epilogue if the CFI information has encoded the
operations as separate instructions.  This would otherwise lead to a mismatch
of the actual prologue size from the size as recorded in the Windows CFI.

Reviewers: efriedma, mstorsjo, ssijaric

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D65817

llvm-svn: 368164
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
llvm/test/CodeGen/AArch64/wineh1.mir
llvm/test/CodeGen/AArch64/wineh2.mir
llvm/test/DebugInfo/COFF/AArch64/arm64-register-variables.ll