Add SplitKit API to query and select the current interval being worked on.
[oota-llvm.git] / lib / CodeGen / LiveDebugVariables.h
index eba4fbede2777bd2965c61d8856ece56dff58615..a6e40a198456289df776ade772bb2ed683d5f128 100644 (file)
 
 namespace llvm {
 
+class VirtRegMap;
+
 class LiveDebugVariables : public MachineFunctionPass {
   void *pImpl;
 public:
   static char ID; // Pass identification, replacement for typeid
 
   LiveDebugVariables();
+  ~LiveDebugVariables();
 
   /// renameRegister - Move any user variables in OldReg to NewReg:SubIdx.
   /// @param OldReg Old virtual register that is going away.
@@ -41,13 +44,16 @@ public:
 
   /// emitDebugValues - Emit new DBG_VALUE instructions reflecting the changes
   /// that happened during register allocation.
-  void emitDebugValues();
+  /// @param VRM Rename virtual registers according to map.
+  void emitDebugValues(VirtRegMap *VRM);
+
+  /// dump - Print data structures to dbgs().
+  void dump();
 
 private:
 
-  /// runOnMachineFunction - Analyze and remove DBG_VALUE instructions.
   virtual bool runOnMachineFunction(MachineFunction &);
-
+  virtual void releaseMemory();
   virtual void getAnalysisUsage(AnalysisUsage &) const;
 
 };