Chromium Code Reviews| Index: lib/Target/ARM/ARMBaseRegisterInfo.cpp |
| diff --git a/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/lib/Target/ARM/ARMBaseRegisterInfo.cpp |
| index b673e9909ee43bcec457a5d0fa823d4645d57e8f..fce29e28b0c03b9c69317485fd4f60f23a5d97da 100644 |
| --- a/lib/Target/ARM/ARMBaseRegisterInfo.cpp |
| +++ b/lib/Target/ARM/ARMBaseRegisterInfo.cpp |
| @@ -24,6 +24,7 @@ |
| #include "llvm/CodeGen/MachineFrameInfo.h" |
| #include "llvm/CodeGen/MachineFunction.h" |
| #include "llvm/CodeGen/MachineInstrBuilder.h" |
| +#include "llvm/CodeGen/MachineModuleInfo.h" // @LOCALMOD |
| #include "llvm/CodeGen/MachineRegisterInfo.h" |
| #include "llvm/CodeGen/RegisterScavenging.h" |
| #include "llvm/CodeGen/VirtRegMap.h" |
| @@ -63,7 +64,13 @@ static unsigned getFramePointerReg(const ARMSubtarget &STI) { |
| const MCPhysReg* |
| ARMBaseRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { |
| const ARMSubtarget &STI = MF->getSubtarget<ARMSubtarget>(); |
| - if (STI.isTargetNaCl()) return CSR_NaCl_SaveList; // @LOCALMOD |
| + // @LOCALMOD-START |
|
jvoung (off chromium)
2015/06/03 17:19:38
Leave a note that we aren't supporting the other C
Derek Schuff
2015/06/03 20:50:56
Done.
|
| + if (STI.isTargetNaCl()) { |
| + if (MF->getMMI().callsEHReturn()) |
| + return CSR_NaCl_EHRet_SaveList; |
| + return CSR_NaCl_SaveList; |
| + } |
| + // @LOCALMOD-END |
| const MCPhysReg *RegList = |
| STI.isTargetDarwin() ? CSR_iOS_SaveList : CSR_AAPCS_SaveList; |