summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2011-06-10 20:59:24 +0000
committerCameron Zwarich <zwarich@apple.com>2011-06-10 20:59:24 +0000
commit890197859ba854bbfdc1e8d527c4050fe6d181ce (patch)
treea5a490091181165f8e1106fac93d704f980e9842 /llvm/include
parentcd4cfb3e296632f5fae456ad8057e09e52df3d0d (diff)
downloadbcm5719-llvm-890197859ba854bbfdc1e8d527c4050fe6d181ce.tar.gz
bcm5719-llvm-890197859ba854bbfdc1e8d527c4050fe6d181ce.zip
Provide an ARMCCState subclass of CCState so that ARM clients will always set
CallOrPrologue correctly and eliminate the existing setter. llvm-svn: 132856
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/CodeGen/CallingConvLower.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/include/llvm/CodeGen/CallingConvLower.h b/llvm/include/llvm/CodeGen/CallingConvLower.h
index a953094b444..77dc644f761 100644
--- a/llvm/include/llvm/CodeGen/CallingConvLower.h
+++ b/llvm/include/llvm/CodeGen/CallingConvLower.h
@@ -151,6 +151,7 @@ typedef enum { Unknown, Prologue, Call } ParmContext;
/// return values. It captures which registers are already assigned and which
/// stack slots are used. It provides accessors to allocate these values.
class CCState {
+private:
CallingConv::ID CallingConv;
bool IsVarArg;
MachineFunction &MF;
@@ -163,7 +164,10 @@ class CCState {
SmallVector<uint32_t, 16> UsedRegs;
unsigned FirstByValReg;
bool FirstByValRegValid;
+
+protected:
ParmContext CallOrPrologue;
+
public:
CCState(CallingConv::ID CC, bool isVarArg, MachineFunction &MF,
const TargetMachine &TM, SmallVector<CCValAssign, 16> &locs,
@@ -308,7 +312,6 @@ public:
bool isFirstByValRegValid() { return FirstByValRegValid; }
ParmContext getCallOrPrologue() { return CallOrPrologue; }
- void setCallOrPrologue(ParmContext pc) { CallOrPrologue = pc; }
private:
/// MarkAllocated - Mark a register and all of its aliases as allocated.
OpenPOWER on IntegriCloud