summaryrefslogtreecommitdiff
path: root/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
commita86686e643323762bf9383a0897a55257611aa74 (patch)
tree36bba2c8b6bb6c5d15d00c055d96d587c90071f9 /include
parenta50760f43bafbb46f72fc22426075204a69ce178 (diff)
downloadllvm-a86686e643323762bf9383a0897a55257611aa74.tar.gz
llvm-a86686e643323762bf9383a0897a55257611aa74.tar.bz2
llvm-a86686e643323762bf9383a0897a55257611aa74.tar.xz
Provide an ARMCCState subclass of CCState so that ARM clients will always set
CallOrPrologue correctly and eliminate the existing setter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132856 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/CallingConvLower.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/CallingConvLower.h b/include/llvm/CodeGen/CallingConvLower.h
index a953094b44..77dc644f76 100644
--- a/include/llvm/CodeGen/CallingConvLower.h
+++ b/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.