summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips
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
commit719df2874ce602f2f36f13cb7225a16e9ba0582c (patch)
tree403781bcc1e12ce06ea45a2f8611eb792fd342b3 /llvm/lib/Target/Mips
parent7296139d5efb6bc71c1e44f9608a4be024f00008 (diff)
downloadbcm5719-llvm-719df2874ce602f2f36f13cb7225a16e9ba0582c.tar.gz
bcm5719-llvm-719df2874ce602f2f36f13cb7225a16e9ba0582c.zip
[mips] Add member field MipsFunctionInfo::IncomingArgSize which holds the size
of the incoming argument area. llvm-svn: 167312
Diffstat (limited to 'llvm/lib/Target/Mips')
-rw-r--r--llvm/lib/Target/Mips/MipsISelLowering.cpp1
-rw-r--r--llvm/lib/Target/Mips/MipsMachineFunction.h6
2 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp
index 47a4f1a14a2..9f4d15cfe0a 100644
--- a/llvm/lib/Target/Mips/MipsISelLowering.cpp
+++ b/llvm/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/llvm/lib/Target/Mips/MipsMachineFunction.h b/llvm/lib/Target/Mips/MipsMachineFunction.h
index 1b3e0a3a8e9..d2eba581147 100644
--- a/llvm/lib/Target/Mips/MipsMachineFunction.h
+++ b/llvm/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
OpenPOWER on IntegriCloud