diff options
| author | Dan Gohman <gohman@apple.com> | 2008-02-07 16:28:05 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2008-02-07 16:28:05 +0000 |
| commit | 63a8452e9ce57568b502808dc0e59209d7e71b54 (patch) | |
| tree | ec8df02c194752c23e75369d1d7fe30be8f8ea4f /llvm/lib/Target | |
| parent | b781c79d2c41888c142aa9861f18a845ad274148 (diff) | |
| download | bcm5719-llvm-63a8452e9ce57568b502808dc0e59209d7e71b54.tar.gz bcm5719-llvm-63a8452e9ce57568b502808dc0e59209d7e71b54.zip | |
Add SourceValue information for outgoing argument stores on x86.
llvm-svn: 46854
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 79ac36d5aa9..5adce058476 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -1290,14 +1290,16 @@ X86TargetLowering::LowerMemOpCallTo(SDOperand Op, SelectionDAG &DAG, const CCValAssign &VA, SDOperand Chain, SDOperand Arg) { - SDOperand PtrOff = DAG.getIntPtrConstant(VA.getLocMemOffset()); + unsigned LocMemOffset = VA.getLocMemOffset(); + SDOperand PtrOff = DAG.getIntPtrConstant(LocMemOffset); PtrOff = DAG.getNode(ISD::ADD, getPointerTy(), StackPtr, PtrOff); SDOperand FlagsOp = Op.getOperand(6+2*VA.getValNo()); unsigned Flags = cast<ConstantSDNode>(FlagsOp)->getValue(); if (Flags & ISD::ParamFlags::ByVal) { return CreateCopyOfByValArgument(Arg, PtrOff, Chain, Flags, DAG); } - return DAG.getStore(Chain, Arg, PtrOff, NULL, 0); + return DAG.getStore(Chain, Arg, PtrOff, + &PseudoSourceValue::getStack(), LocMemOffset); } /// ClassifyX86_64SRetCallReturn - Classify how to implement a x86-64 |

