Revert "DwarfUnit: Move the DICompileUnit Node to the DwarfCompileUnit only"
authorDavid Blaikie <dblaikie@gmail.com>
Thu, 9 Jan 2014 03:03:27 +0000 (03:03 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Thu, 9 Jan 2014 03:03:27 +0000 (03:03 +0000)
This reverts commit r198830.

Decided to go a different way with this...

llvm-svn: 198841

llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h

index ed631b7..8df9c3b 100644 (file)
@@ -40,23 +40,23 @@ GenerateDwarfTypeUnits("generate-type-units", cl::Hidden,
                        cl::init(false));
 
 /// Unit - Unit constructor.
-DwarfUnit::DwarfUnit(unsigned UID, DIE *D, AsmPrinter *A, DwarfDebug *DW,
-                     DwarfFile *DWU)
-    : UniqueID(UID), UnitDie(D), DebugInfoOffset(0), Asm(A), DD(DW), DU(DWU),
-      IndexTyDie(0), Section(0), Skeleton(0) {
+DwarfUnit::DwarfUnit(unsigned UID, DIE *D, DICompileUnit Node, AsmPrinter *A,
+                     DwarfDebug *DW, DwarfFile *DWU)
+    : UniqueID(UID), Node(Node), UnitDie(D), DebugInfoOffset(0), Asm(A), DD(DW),
+      DU(DWU), IndexTyDie(0), Section(0), Skeleton(0) {
   DIEIntegerOne = new (DIEValueAllocator) DIEInteger(1);
 }
 
 DwarfCompileUnit::DwarfCompileUnit(unsigned UID, DIE *D, DICompileUnit Node,
                                    AsmPrinter *A, DwarfDebug *DW,
                                    DwarfFile *DWU)
-    : DwarfUnit(UID, D, A, DW, DWU), Node(Node) {
+    : DwarfUnit(UID, D, Node, A, DW, DWU) {
   insertDIE(Node, D);
 }
 
 DwarfTypeUnit::DwarfTypeUnit(unsigned UID, DIE *D, uint16_t Language,
                              AsmPrinter *A, DwarfDebug *DW, DwarfFile *DWU)
-    : DwarfUnit(UID, D, A, DW, DWU), Language(Language) {}
+    : DwarfUnit(UID, D, DICompileUnit(), A, DW, DWU), Language(Language) {}
 
 /// ~Unit - Destructor for compile unit.
 DwarfUnit::~DwarfUnit() {
index cba15fc..524cdc1 100644 (file)
@@ -65,6 +65,9 @@ protected:
   /// UniqueID - a numeric ID unique among all CUs in the module
   unsigned UniqueID;
 
+  /// Node - MDNode for the compile unit.
+  DICompileUnit Node;
+
   /// Unit debug information entry.
   const OwningPtr<DIE> UnitDie;
 
@@ -146,8 +149,8 @@ protected:
   /// Skeleton unit associated with this unit.
   DwarfUnit *Skeleton;
 
-  DwarfUnit(unsigned UID, DIE *D, AsmPrinter *A, DwarfDebug *DW,
-            DwarfFile *DWU);
+  DwarfUnit(unsigned UID, DIE *D, DICompileUnit CU, AsmPrinter *A,
+            DwarfDebug *DW, DwarfFile *DWU);
 
 public:
   virtual ~DwarfUnit();
@@ -216,6 +219,7 @@ public:
   // Accessors.
   unsigned getUniqueID() const { return UniqueID; }
   virtual uint16_t getLanguage() const = 0;
+  DICompileUnit getNode() const { return Node; }
   DIE *getUnitDie() const { return UnitDie.get(); }
   const StringMap<const DIE *> &getGlobalNames() const { return GlobalNames; }
   const StringMap<const DIE *> &getGlobalTypes() const { return GlobalTypes; }
@@ -530,13 +534,9 @@ private:
 };
 
 class DwarfCompileUnit : public DwarfUnit {
-  /// Node - MDNode for the compile unit.
-  DICompileUnit Node;
-
 public:
   DwarfCompileUnit(unsigned UID, DIE *D, DICompileUnit Node, AsmPrinter *A,
                    DwarfDebug *DW, DwarfFile *DWU);
-  DICompileUnit getNode() const { return Node; }
   virtual ~DwarfCompileUnit() LLVM_OVERRIDE;
 
   /// createGlobalVariableDIE - create global variable DIE.