diff options
author | Mandeep Singh Grang <mgrang@quicinc.org> | 2019-02-01 21:41:33 +0000 |
---|---|---|
committer | Mandeep Singh Grang <mgrang@quicinc.org> | 2019-02-01 21:41:33 +0000 |
commit | 70d484d94e3ec1f6c563b3f2e85f88becb977a41 (patch) | |
tree | 22c4744f728a5db40148af9e0a6a474f6dfc4eff /llvm/lib/CodeGen/AsmPrinter/WinException.cpp | |
parent | e95550f508b850c5144b7d1a63bad5680fe83f6d (diff) | |
download | llvm-70d484d94e3ec1f6c563b3f2e85f88becb977a41.zip llvm-70d484d94e3ec1f6c563b3f2e85f88becb977a41.tar.gz llvm-70d484d94e3ec1f6c563b3f2e85f88becb977a41.tar.bz2 |
[COFF, ARM64] Fix localaddress to handle stack realignment and variable size objects
Summary: This fixes using the correct stack registers for SEH when stack realignment is needed or when variable size objects are present.
Reviewers: rnk, efriedma, ssijaric, TomTan
Reviewed By: rnk, efriedma
Subscribers: javed.absar, kristof.beyls, llvm-commits
Differential Revision: https://reviews.llvm.org/D57183
llvm-svn: 352923
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/WinException.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/WinException.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/WinException.cpp b/llvm/lib/CodeGen/AsmPrinter/WinException.cpp index 882859a..c870419 100644 --- a/llvm/lib/CodeGen/AsmPrinter/WinException.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/WinException.cpp @@ -937,11 +937,7 @@ void WinException::emitEHRegistrationOffsetLabel(const WinEHFuncInfo &FuncInfo, int FI = FuncInfo.EHRegNodeFrameIndex; if (FI != INT_MAX) { const TargetFrameLowering *TFI = Asm->MF->getSubtarget().getFrameLowering(); - unsigned UnusedReg; - // FIXME: getFrameIndexReference needs to match the behavior of - // AArch64RegisterInfo::hasBasePointer in which one of the scenarios where - // SP is used is if frame size >= 256. - Offset = TFI->getFrameIndexReference(*Asm->MF, FI, UnusedReg); + Offset = TFI->getNonLocalFrameIndexReference(*Asm->MF, FI); } MCContext &Ctx = Asm->OutContext; |