summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-02-07 16:28:05 +0000
committerDan Gohman <gohman@apple.com>2008-02-07 16:28:05 +0000
commit63a8452e9ce57568b502808dc0e59209d7e71b54 (patch)
treeec8df02c194752c23e75369d1d7fe30be8f8ea4f /llvm/lib/Target
parentb781c79d2c41888c142aa9861f18a845ad274148 (diff)
downloadbcm5719-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.cpp6
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
OpenPOWER on IntegriCloud