diff options
-rw-r--r-- | lib/Target/Mips/MipsISelLowering.cpp | 1 | ||||
-rw-r--r-- | lib/Target/Mips/MipsMachineFunction.h | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp index 47a4f1a14a..9f4d15cfe0 100644 --- a/lib/Target/Mips/MipsISelLowering.cpp +++ b/lib/Target/Mips/MipsISelLowering.cpp @@ -3027,6 +3027,7 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain, MipsCCInfo.analyzeFormalArguments(Ins); MipsFI->setFormalArgInfo(CCInfo.getNextStackOffset(), MipsCCInfo.hasByValArg()); + MipsFI->setIncomingArgSize(CCInfo.getNextStackOffset()); Function::const_arg_iterator FuncArg = DAG.getMachineFunction().getFunction()->arg_begin(); diff --git a/lib/Target/Mips/MipsMachineFunction.h b/lib/Target/Mips/MipsMachineFunction.h index 1b3e0a3a8e..d2eba58114 100644 --- a/lib/Target/Mips/MipsMachineFunction.h +++ b/lib/Target/Mips/MipsMachineFunction.h @@ -51,6 +51,9 @@ class MipsFunctionInfo : public MachineFunctionInfo { unsigned NextStackOffset; bool HasByvalArg; + // Size of incoming argument area. + unsigned IncomingArgSize; + public: MipsFunctionInfo(MachineFunction& MF) : MF(MF), SRetReturnReg(0), GlobalBaseReg(0), Mips16SPAliasReg(0), @@ -75,6 +78,9 @@ public: NextStackOffset = Offset; HasByvalArg = HasByval; } + + unsigned getIncomingArgSize() const { return IncomingArgSize; } + void setIncomingArgSize(unsigned S) { IncomingArgSize = S; } }; } // end of namespace llvm |