mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-15 09:33:39 +00:00
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
This commit is contained in:
parent
2bfe6ff605
commit
4fdad172de
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user