summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-11-02 21:03:58 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-11-02 21:03:58 +0000
commit294166d541fd634fea09fb1fe48457536ef43ed0 (patch)
tree05e8fdcd3059757f35a3fd56c926d7c215eae237
parent322ff8834532915a4de0210a083672008d6499b6 (diff)
downloadllvm-294166d541fd634fea09fb1fe48457536ef43ed0.tar.gz
llvm-294166d541fd634fea09fb1fe48457536ef43ed0.tar.bz2
llvm-294166d541fd634fea09fb1fe48457536ef43ed0.tar.xz
[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
-rw-r--r--lib/Target/Mips/MipsISelLowering.cpp1
-rw-r--r--lib/Target/Mips/MipsMachineFunction.h6
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