[mips] Add member field MipsFunctionInfo::IncomingArgSize which holds the size
of the incoming argument area.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167312 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp
index 47a4f1a..9f4d15c 100644
--- a/lib/Target/Mips/MipsISelLowering.cpp
+++ b/lib/Target/Mips/MipsISelLowering.cpp
@@ -3027,6 +3027,7 @@
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 1b3e0a3..d2eba58 100644
--- a/lib/Target/Mips/MipsMachineFunction.h
+++ b/lib/Target/Mips/MipsMachineFunction.h
@@ -51,6 +51,9 @@
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 @@
NextStackOffset = Offset;
HasByvalArg = HasByval;
}
+
+ unsigned getIncomingArgSize() const { return IncomingArgSize; }
+ void setIncomingArgSize(unsigned S) { IncomingArgSize = S; }
};
} // end of namespace llvm