aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/ARMMachineFunctionInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/ARM/ARMMachineFunctionInfo.h')
-rw-r--r--lib/Target/ARM/ARMMachineFunctionInfo.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/lib/Target/ARM/ARMMachineFunctionInfo.h b/lib/Target/ARM/ARMMachineFunctionInfo.h
index eeb61d7686..6662be12a5 100644
--- a/lib/Target/ARM/ARMMachineFunctionInfo.h
+++ b/lib/Target/ARM/ARMMachineFunctionInfo.h
@@ -87,6 +87,8 @@ class ARMFunctionInfo : public MachineFunctionInfo {
///
unsigned JumpTableUId;
+ unsigned ConstPoolEntryUId;
+
public:
ARMFunctionInfo() :
isThumb(false),
@@ -96,7 +98,7 @@ public:
FramePtrSpillOffset(0), GPRCS1Offset(0), GPRCS2Offset(0), DPRCSOffset(0),
GPRCS1Size(0), GPRCS2Size(0), DPRCSSize(0),
GPRCS1Frames(0), GPRCS2Frames(0), DPRCSFrames(0),
- JumpTableUId(0) {}
+ JumpTableUId(0), ConstPoolEntryUId(0) {}
ARMFunctionInfo(MachineFunction &MF) :
isThumb(MF.getTarget().getSubtarget<ARMSubtarget>().isThumb()),
@@ -107,7 +109,7 @@ public:
GPRCS1Size(0), GPRCS2Size(0), DPRCSSize(0),
GPRCS1Frames(32), GPRCS2Frames(32), DPRCSFrames(32),
SpilledCSRegs(MF.getTarget().getRegisterInfo()->getNumRegs()),
- JumpTableUId(0) {}
+ JumpTableUId(0), ConstPoolEntryUId(0) {}
bool isThumbFunction() const { return isThumb; }
@@ -203,7 +205,7 @@ public:
SpilledCSRegs.set(Reg);
}
- bool isCSRegisterSpilled(unsigned Reg) {
+ bool isCSRegisterSpilled(unsigned Reg) const {
return SpilledCSRegs[Reg];
}
@@ -214,6 +216,22 @@ public:
unsigned createJumpTableUId() {
return JumpTableUId++;
}
+
+ unsigned getNumJumpTables() const {
+ return JumpTableUId;
+ }
+
+ void initConstPoolEntryUId(unsigned UId) {
+ ConstPoolEntryUId = UId;
+ }
+
+ unsigned getNumConstPoolEntries() const {
+ return ConstPoolEntryUId;
+ }
+
+ unsigned createConstPoolEntryUId() {
+ return ConstPoolEntryUId++;
+ }
};
} // End llvm namespace