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

Jim Laskey jlaskey at apple.com
Fri Jun 23 05:52:19 PDT 2006



Changes in directory llvm/include/llvm/CodeGen:

AsmPrinter.h updated: 1.40 -> 1.41
DwarfWriter.h updated: 1.37 -> 1.38
MachineDebugInfo.h updated: 1.36 -> 1.37
---
Log message:

Add and sort "sections" in debug lines.  This always stepping through
code in sections other than ".text", including weak sections like ctors and
dtors.


---
Diffs of the changes:  (+15 -16)

 AsmPrinter.h       |    8 ++++----
 DwarfWriter.h      |   17 ++++++++---------
 MachineDebugInfo.h |    6 +++---
 3 files changed, 15 insertions(+), 16 deletions(-)


Index: llvm/include/llvm/CodeGen/AsmPrinter.h
diff -u llvm/include/llvm/CodeGen/AsmPrinter.h:1.40 llvm/include/llvm/CodeGen/AsmPrinter.h:1.41
--- llvm/include/llvm/CodeGen/AsmPrinter.h:1.40	Fri May 19 14:07:54 2006
+++ llvm/include/llvm/CodeGen/AsmPrinter.h	Fri Jun 23 07:51:53 2006
@@ -26,10 +26,6 @@
   class GlobalVariable;
 
   class AsmPrinter : public MachineFunctionPass {
-    /// CurrentSection - The current section we are emitting to.  This is
-    /// controlled and used by the SwitchSection method.
-    std::string CurrentSection;
-    
     /// FunctionNumber - This provides a unique ID for each function emitted in
     /// this translation unit.  It is autoincremented by SetupMachineFunction,
     /// and can be accessed with getFunctionNumber() and 
@@ -134,6 +130,10 @@
     
     //===--- Section Switching Directives ---------------------------------===//
     
+    /// CurrentSection - The current section we are emitting to.  This is
+    /// controlled and used by the SwitchSection method.
+    std::string CurrentSection;
+    
     /// SwitchToSectionDirective - This is the directive used when we want to
     /// emit a global to an arbitrary section.  The section name is emited after
     /// this.


Index: llvm/include/llvm/CodeGen/DwarfWriter.h
diff -u llvm/include/llvm/CodeGen/DwarfWriter.h:1.37 llvm/include/llvm/CodeGen/DwarfWriter.h:1.38
--- llvm/include/llvm/CodeGen/DwarfWriter.h:1.37	Wed Jun 14 06:35:03 2006
+++ llvm/include/llvm/CodeGen/DwarfWriter.h	Fri Jun 23 07:51:53 2006
@@ -47,6 +47,7 @@
 class Module;
 class MRegisterInfo;
 class SubprogramDesc;
+class SourceLineInfo;
 class TargetData;
 class Type;
 class TypeDesc;
@@ -110,11 +111,6 @@
   ///
   bool shouldEmit;
   
-  /// IsNormalText - Flag to indicate if routine is not special case text
-  /// (coalesced.)
-  // FIXME - should be able to debug coalesced functions.
-  bool IsNormalText;
-
   /// SubprogramCount - The running count of functions being compiled.
   ///
   unsigned SubprogramCount;
@@ -144,10 +140,13 @@
   /// descriptors to debug information entries.
   std::map<DebugInfoDesc *, DIE *> DescToDieMap;
   
-  /// TypeToDieMap - Type to DIEType map.
+  /// SectionMap - Provides a unique id per text section.
+  ///
+  UniqueVector<std::string> SectionMap;
+  
+  /// SectionSourceLines - Tracks line numbers per text section.
   ///
-  // FIXME - Should not be needed.
-  std::map<Type *, DIE *> TypeToDieMap;
+  std::vector<std::vector<SourceLineInfo *> > SectionSourceLines;
   
   //===--------------------------------------------------------------------===//
   // Properties to be set by the derived class ctor, used to configure the
@@ -483,7 +482,7 @@
   
   /// BeginFunction - Gather pre-function debug information.  Assumes being 
   /// emitted immediately after the function entry point.
-  void BeginFunction(MachineFunction *MF, bool IsNormalText);
+  void BeginFunction(MachineFunction *MF);
   
   /// EndFunction - Gather and emit post-function debug information.
   ///


Index: llvm/include/llvm/CodeGen/MachineDebugInfo.h
diff -u llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.36 llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.37
--- llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.36	Fri Jun 16 08:14:03 2006
+++ llvm/include/llvm/CodeGen/MachineDebugInfo.h	Fri Jun 23 07:51:53 2006
@@ -1031,9 +1031,9 @@
     return SourceFiles;
   }
   
-  /// getSourceLines - Return a vector of source lines.  Vector index + 1
-  /// equals label ID.
-  const std::vector<SourceLineInfo *> &getSourceLines() const {
+  /// getSourceLines - Return a vector of source lines.
+  ///
+  std::vector<SourceLineInfo *> &getSourceLines() {
     return Lines;
   }
   






More information about the llvm-commits mailing list