Enable X86 support for savestack/restorestack
authorChris Lattner <sabre@nondot.org>
Fri, 13 Jan 2006 18:00:54 +0000 (18:00 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 13 Jan 2006 18:00:54 +0000 (18:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25278 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelPattern.cpp

index 6a2fb684a850136fd3aa00c09722b02feba3992f..776780ff531cd99f5a9c69b759dea78f7dcbbabd 100644 (file)
@@ -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);
index cb1835489c1a9cce89a52c629eedfb62cb042bfc..c5d5a26666f73936fa4605dd864df82ab59e8d5f 100644 (file)
@@ -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;
   }