diff options
| author | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-09-28 13:37:27 +0000 |
|---|---|---|
| committer | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-09-28 13:37:27 +0000 |
| commit | 21f2955bb289bffe61f68a8b0726bbec24216214 (patch) | |
| tree | 52c28c512e6e2b5d6119c11204dec73f41e5f36e /llvm/lib/Target/AArch64/AArch64FrameLowering.cpp | |
| parent | 66f4e45b35c809ff81b81044260a520e041a7d49 (diff) | |
| download | bcm5719-llvm-21f2955bb289bffe61f68a8b0726bbec24216214.tar.gz bcm5719-llvm-21f2955bb289bffe61f68a8b0726bbec24216214.zip | |
Reapply changes reverted by r343235
- Add fix so that all code paths that create DWARFContext
with an ObjectFile initialise the target architecture in the context
- Add an assert that the Arch is known in the Dwarf CallFrameString method
llvm-svn: 343317
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64FrameLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp index f2d7ea9ba3e..2e377127302 100644 --- a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp @@ -622,6 +622,12 @@ void AArch64FrameLowering::emitPrologue(MachineFunction &MF, if (ShouldSignReturnAddress(MF)) { BuildMI(MBB, MBBI, DL, TII->get(AArch64::PACIASP)) .setMIFlag(MachineInstr::FrameSetup); + + unsigned CFIIndex = + MF.addFrameInst(MCCFIInstruction::createNegateRAState(nullptr)); + BuildMI(MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) + .addCFIIndex(CFIIndex) + .setMIFlags(MachineInstr::FrameSetup); } // All calls are tail calls in GHC calling conv, and functions have no |

