Index: lib/Target/ARM/ARMISelLowering.cpp |
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp |
index 3e402d7a1c8e786381654e480b3d3385956c9eb5..c516b42344df09c646939d1f12af2eafba038218 100644 |
--- a/lib/Target/ARM/ARMISelLowering.cpp |
+++ b/lib/Target/ARM/ARMISelLowering.cpp |
@@ -765,23 +765,16 @@ ARMTargetLowering::ARMTargetLowering(const TargetMachine &TM, |
if (!Subtarget->isTargetMachO()) { |
// Non-MachO platforms may return values in these registers via the |
// personality function. |
- // @LOCALMOD-START |
- if (Subtarget->isTargetNaCl()) { |
- // we use the first caller saved regs here |
- // c.f.: llvm-gcc/llvm-gcc-4.2/gcc/unwind-dw2.c::uw_install_context |
- // NOTE: these are related to the _Unwind_PNaClSetResult{0,1} functions |
- setExceptionPointerRegister(ARM::R4); |
- setExceptionSelectorRegister(ARM::R5); |
- |
- setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom); |
+ setExceptionPointerRegister(ARM::R0); |
+ setExceptionSelectorRegister(ARM::R1); |
+ } |
- setOperationAction(ISD::EH_RETURN, MVT::Other, Custom); |
- } else { |
- setExceptionPointerRegister(ARM::R0); |
- setExceptionSelectorRegister(ARM::R1); |
- } |
- // @LOCALMOD-END |
+ // @LOCALMOD-START |
+ if (Subtarget->isTargetNaCl()) { |
+ setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom); |
+ setOperationAction(ISD::EH_RETURN, MVT::Other, Custom); |
} |
+ // @LOCALMOD-END |
if (Subtarget->getTargetTriple().isWindowsItaniumEnvironment()) |
setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32, Custom); |