summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-13 18:00:54 +0000
committerChris Lattner <sabre@nondot.org>2006-01-13 18:00:54 +0000
commit1a8d918ef19b71181dcbd6b2dbb84969de8fe75c (patch)
treefde4fe2cfa6eb4a11fbbced55696a44bb9e7c0f1 /llvm/lib/Target
parent776c326c96b053f4f2682f46267c289c43f24890 (diff)
downloadbcm5719-llvm-1a8d918ef19b71181dcbd6b2dbb84969de8fe75c.tar.gz
bcm5719-llvm-1a8d918ef19b71181dcbd6b2dbb84969de8fe75c.zip
Enable X86 support for savestack/restorestack
llvm-svn: 25278
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp1
-rw-r--r--llvm/lib/Target/X86/X86ISelPattern.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 6a2fb684a85..776780ff531 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/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/llvm/lib/Target/X86/X86ISelPattern.cpp b/llvm/lib/Target/X86/X86ISelPattern.cpp
index cb1835489c1..c5d5a26666f 100644
--- a/llvm/lib/Target/X86/X86ISelPattern.cpp
+++ b/llvm/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;
}
OpenPOWER on IntegriCloud