mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
x86: Rename NumBytesForCalleeToPush to ...Pop for accuracy
If we have a callee cleanup convention, the callee is going to pop the arguments off the stack, not push them on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200566 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fa2c38470c
commit
4fa3492f97
@ -2913,10 +2913,10 @@ X86TargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
|
||||
InFlag = Chain.getValue(1);
|
||||
|
||||
// Create the CALLSEQ_END node.
|
||||
unsigned NumBytesForCalleeToPush;
|
||||
unsigned NumBytesForCalleeToPop;
|
||||
if (X86::isCalleePop(CallConv, Is64Bit, isVarArg,
|
||||
getTargetMachine().Options.GuaranteedTailCallOpt))
|
||||
NumBytesForCalleeToPush = NumBytes; // Callee pops everything
|
||||
NumBytesForCalleeToPop = NumBytes; // Callee pops everything
|
||||
else if (!Is64Bit && !IsTailCallConvention(CallConv) &&
|
||||
!Subtarget->getTargetTriple().isOSMSVCRT() &&
|
||||
SR == StackStructReturn)
|
||||
@ -2924,15 +2924,15 @@ X86TargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
|
||||
// pops the hidden struct pointer, so we have to push it back.
|
||||
// This is common for Darwin/X86, Linux & Mingw32 targets.
|
||||
// For MSVC Win32 targets, the caller pops the hidden struct pointer.
|
||||
NumBytesForCalleeToPush = 4;
|
||||
NumBytesForCalleeToPop = 4;
|
||||
else
|
||||
NumBytesForCalleeToPush = 0; // Callee pops nothing.
|
||||
NumBytesForCalleeToPop = 0; // Callee pops nothing.
|
||||
|
||||
// Returns a flag for retval copy to use.
|
||||
if (!IsSibcall) {
|
||||
Chain = DAG.getCALLSEQ_END(Chain,
|
||||
DAG.getIntPtrConstant(NumBytes, true),
|
||||
DAG.getIntPtrConstant(NumBytesForCalleeToPush,
|
||||
DAG.getIntPtrConstant(NumBytesForCalleeToPop,
|
||||
true),
|
||||
InFlag, dl);
|
||||
InFlag = Chain.getValue(1);
|
||||
|
Loading…
Reference in New Issue
Block a user