diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-01-10 00:37:26 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-01-10 00:37:26 +0000 |
commit | fead113fe095f90248d7a92cd9e0362492caafce (patch) | |
tree | 4796adfc98a9f4e755124f162c9f9b53ad1be76b /llvm | |
parent | 8958a785768f7180f30c7a26b1e426819a1f8ab1 (diff) | |
download | bcm5719-llvm-fead113fe095f90248d7a92cd9e0362492caafce.tar.gz bcm5719-llvm-fead113fe095f90248d7a92cd9e0362492caafce.zip |
Do not use the stack pointer directly, issue a copyfromreg instead. Otherwise we can end up with something like ADD32ri %esp, x which two-address pass won't like.
llvm-svn: 45798
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index bd598e277bc..a7cf6cf8ca2 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -1332,7 +1332,7 @@ SDOperand X86TargetLowering::LowerCALL(SDOperand Op, SelectionDAG &DAG) { } else { assert(VA.isMemLoc()); if (StackPtr.Val == 0) - StackPtr = DAG.getRegister(getStackPtrReg(), getPointerTy()); + StackPtr = DAG.getCopyFromReg(Chain, X86StackPtr, getPointerTy()); MemOpChains.push_back(LowerMemOpCallTo(Op, DAG, StackPtr, VA, Chain, Arg)); |