summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
diff options
context:
space:
mode:
authorSanjin Sijaric <ssijaric@codeaurora.org>2018-10-31 09:27:01 +0000
committerSanjin Sijaric <ssijaric@codeaurora.org>2018-10-31 09:27:01 +0000
commitfadebc8aaefb9461dcfe10a5e1f5482d2199e3f2 (patch)
tree8fb96b97a03ce77b0dd647d11182cb6581875677 /llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
parent13727da72f96add0d56ff62ca3420eecacdd7994 (diff)
downloadbcm5719-llvm-fadebc8aaefb9461dcfe10a5e1f5482d2199e3f2.tar.gz
bcm5719-llvm-fadebc8aaefb9461dcfe10a5e1f5482d2199e3f2.zip
[ARM64] [Windows] Exception handling support in frame lowering
Emit pseudo instructions indicating unwind codes corresponding to each instruction inside the prologue/epilogue. These are used by the MCLayer to populate the .xdata section. Differential Revision: https://reviews.llvm.org/D50288 llvm-svn: 345701
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp b/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
index ff1c1c97988..0bab5c05ba6 100644
--- a/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
@@ -43,6 +43,8 @@ AArch64RegisterInfo::AArch64RegisterInfo(const Triple &TT)
const MCPhysReg *
AArch64RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
assert(MF && "Invalid MachineFunction pointer.");
+ if (MF->getSubtarget<AArch64Subtarget>().isTargetWindows())
+ return CSR_Win_AArch64_AAPCS_SaveList;
if (MF->getFunction().getCallingConv() == CallingConv::GHC)
// GHC set of callee saved regs is empty as all those regs are
// used for passing STG regs around
OpenPOWER on IntegriCloud