[llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineDebugInfo.h

Jim Laskey jlaskey at apple.com
Mon Oct 23 07:56:53 PDT 2006



Changes in directory llvm/include/llvm/CodeGen:

MachineDebugInfo.h updated: 1.42 -> 1.43
---
Log message:

More complete solution to deleting blocks and debug info.

---
Diffs of the changes:  (+14 -5)

 MachineDebugInfo.h |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)


Index: llvm/include/llvm/CodeGen/MachineDebugInfo.h
diff -u llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.42 llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.43
--- llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.42	Tue Oct 17 18:16:42 2006
+++ llvm/include/llvm/CodeGen/MachineDebugInfo.h	Mon Oct 23 09:56:37 2006
@@ -30,6 +30,8 @@
 #ifndef LLVM_CODEGEN_MACHINEDEBUGINFO_H
 #define LLVM_CODEGEN_MACHINEDEBUGINFO_H
 
+#include <set>
+
 #include "llvm/Support/Dwarf.h"
 #include "llvm/Support/DataTypes.h"
 #include "llvm/ADT/UniqueVector.h"
@@ -979,6 +981,10 @@
   //
   DebugScope *RootScope;
   
+  // DeletedLabelIDs - List of label IDs that have been removed from the
+  // module.
+  std::set<unsigned> DeletedLabelIDs;
+  
   // FrameMoves - List of moves done by a function's prolog.  Used to construct
   // frame maps by debug consumers.
   std::vector<MachineMove *> FrameMoves;
@@ -1029,11 +1035,14 @@
   /// provide correspondence to the source line list.
   unsigned RecordLabel(unsigned Line, unsigned Column, unsigned Source);
   
-  /// RemoveLabelInfo - Remove the specified label # from MachineDebugInfo, for
-  /// example because the code was deleted.
-  void RemoveLabelInfo(unsigned LabelUID);
-  
-  
+  /// InvalidateLabel - Inhibit use of the specified label # from
+  /// MachineDebugInfo, for example because the code was deleted.
+  void InvalidateLabel(unsigned LabelID);
+  
+  /// isLabelValid - Check to make sure the label is still valid before
+  /// attempting to use.
+  bool isLabelValid(unsigned LabelID);
+
   /// RecordSource - Register a source file with debug info. Returns an source
   /// ID.
   unsigned RecordSource(const std::string &Directory,






More information about the llvm-commits mailing list