From: Dan Gohman Date: Thu, 7 Feb 2008 16:28:05 +0000 (+0000) Subject: Add SourceValue information for outgoing argument stores on x86. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=4fdad172deda12e10a6cf9b5c54cf9346cfaef00;p=oota-llvm.git Add SourceValue information for outgoing argument stores on x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46854 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 79ac36d5aa9..5adce058476 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/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(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