aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/Mips/MipsMachineFunction.h
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-10-30 19:37:25 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-10-30 19:37:25 +0000
commit4866fe14e2ea1fc366142ab7f4c7789d1a952bb0 (patch)
tree520ef538a8f6e2b7ffbe3a10917ac8a1caf4fff3 /llvm/lib/Target/Mips/MipsMachineFunction.h
parentf38489096189d66a379764d3a65d8f1b0cf4f727 (diff)
downloadllvm-4866fe14e2ea1fc366142ab7f4c7789d1a952bb0.zip
llvm-4866fe14e2ea1fc366142ab7f4c7789d1a952bb0.tar.gz
llvm-4866fe14e2ea1fc366142ab7f4c7789d1a952bb0.tar.bz2
Add code for saving formal argument information to MipsFunctionInfo. This
information will be used by IsEligibleForTailCallOptimization to determine whether a call can be tail-call optimized. llvm-svn: 167043
Diffstat (limited to 'llvm/lib/Target/Mips/MipsMachineFunction.h')
-rw-r--r--llvm/lib/Target/Mips/MipsMachineFunction.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsMachineFunction.h b/llvm/lib/Target/Mips/MipsMachineFunction.h
index f9efe07..663aaec 100644
--- a/llvm/lib/Target/Mips/MipsMachineFunction.h
+++ b/llvm/lib/Target/Mips/MipsMachineFunction.h
@@ -47,6 +47,10 @@ class MipsFunctionInfo : public MachineFunctionInfo {
/// VarArgsFrameIndex - FrameIndex for start of varargs area.
int VarArgsFrameIndex;
+ // Formal argument information obtained during call to LowerFormalArguments.
+ unsigned NextStackOffset;
+ bool HasByvalArg;
+
bool EmitNOAT;
public:
@@ -67,6 +71,13 @@ public:
int getVarArgsFrameIndex() const { return VarArgsFrameIndex; }
void setVarArgsFrameIndex(int Index) { VarArgsFrameIndex = Index; }
+ unsigned nextStackOffset() const { return NextStackOffset; }
+ bool hasByvalArg() const { return HasByvalArg; }
+ void setFormalArgInfo(unsigned Offset, bool HasByval) {
+ NextStackOffset = Offset;
+ HasByvalArg = HasByval;
+ }
+
bool getEmitNOAT() const { return EmitNOAT; }
void setEmitNOAT() { EmitNOAT = true; }
};