diff options
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 1 | ||||
-rw-r--r-- | lib/Target/X86/X86ISelPattern.cpp | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 6a2fb684a8..776780ff53 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -39,6 +39,7 @@ X86TargetLowering::X86TargetLowering(TargetMachine &TM) setSetCCResultType(MVT::i8); setSetCCResultContents(ZeroOrOneSetCCResult); setShiftAmountFlavor(Mask); // shl X, 32 == shl X, 0 + setStackPointerRegisterToSaveRestore(X86::ESP); // Set up the register classes. addRegisterClass(MVT::i8, X86::R8RegisterClass); diff --git a/lib/Target/X86/X86ISelPattern.cpp b/lib/Target/X86/X86ISelPattern.cpp index cb1835489c..c5d5a26666 100644 --- a/lib/Target/X86/X86ISelPattern.cpp +++ b/lib/Target/X86/X86ISelPattern.cpp @@ -1229,7 +1229,7 @@ unsigned ISel::SelectExpr(SDOperand N) { cast<RegisterSDNode>(Node->getOperand(1))->getReg() : cast<RegisterSDNode>(Node)->getReg(); // Just use the specified register as our input if we can. - if (MRegisterInfo::isVirtualRegister(Reg) || Reg == X86::ESP) + if (MRegisterInfo::isVirtualRegister(Reg)) return Reg; } |