Add DebugLoc-aware constructors for SDNode derived
[oota-llvm.git] / include / llvm / CodeGen / LiveStackAnalysis.h
index 87ed67fa0000ff06c333684dad021fe0ad93db23..7cb4151e87053c3f53595bcea18b5de9d27afea9 100644 (file)
@@ -35,7 +35,7 @@ namespace llvm {
 
   public:
     static char ID; // Pass identification, replacement for typeid
-    LiveStacks() : MachineFunctionPass((intptr_t)&ID) {}
+    LiveStacks() : MachineFunctionPass(&ID) {}
 
     typedef SS2IntervalMap::iterator iterator;
     typedef SS2IntervalMap::const_iterator const_iterator;
@@ -52,6 +52,22 @@ namespace llvm {
       return I->second;
     }
 
+    LiveInterval &getInterval(int Slot) {
+      SS2IntervalMap::iterator I = s2iMap.find(Slot);
+      assert(I != s2iMap.end() && "Interval does not exist for stack slot");
+      return I->second;
+    }
+
+    const LiveInterval &getInterval(int Slot) const {
+      SS2IntervalMap::const_iterator I = s2iMap.find(Slot);
+      assert(I != s2iMap.end() && "Interval does not exist for stack slot");
+      return I->second;
+    }
+
+    bool hasInterval(unsigned Slot) const {
+      return s2iMap.count(Slot);
+    }
+
     BumpPtrAllocator& getVNInfoAllocator() { return VNInfoAllocator; }
 
     virtual void getAnalysisUsage(AnalysisUsage &AU) const;