Commit c57baeee authored by Eric Christopher's avatar Eric Christopher
Browse files

Pass the MDNode in and do the insertion at compile unit creation time

instead of relying upon an extra call to finish initializing.

llvm-svn: 181383
parent 221d51cf
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -32,11 +32,12 @@
using namespace llvm;

/// CompileUnit - Compile unit constructor.
CompileUnit::CompileUnit(unsigned UID, unsigned L, DIE *D, AsmPrinter *A,
                         DwarfDebug *DW, DwarfUnits *DWU)
CompileUnit::CompileUnit(unsigned UID, unsigned L, DIE *D, const MDNode *N,
			 AsmPrinter *A, DwarfDebug *DW, DwarfUnits *DWU)
  : UniqueID(UID), Language(L), CUDie(D), Asm(A), DD(DW), DU(DWU),
    IndexTyDie(0), DebugInfoOffset(0) {
  DIEIntegerOne = new (DIEValueAllocator) DIEInteger(1);
  insertDIE(N, D);
}

/// ~CompileUnit - Destructor for compile unit.
+2 −2
Original line number Diff line number Diff line
@@ -95,8 +95,8 @@ class CompileUnit {
  int64_t getDefaultLowerBound() const;

public:
  CompileUnit(unsigned UID, unsigned L, DIE *D, AsmPrinter *A, DwarfDebug *DW,
              DwarfUnits *);
  CompileUnit(unsigned UID, unsigned L, DIE *D, const MDNode *N, AsmPrinter *A,
	      DwarfDebug *DW, DwarfUnits *DWU);
  ~CompileUnit();

  // Accessors.
+2 −3
Original line number Diff line number Diff line
@@ -683,9 +683,8 @@ CompileUnit *DwarfDebug::constructCompileUnit(const MDNode *N) {

  DIE *Die = new DIE(dwarf::DW_TAG_compile_unit);
  CompileUnit *NewCU = new CompileUnit(GlobalCUIndexCount++,
                                       DIUnit.getLanguage(), Die, Asm,
                                       DIUnit.getLanguage(), Die, N, Asm,
                                       this, &InfoHolder);
  NewCU->insertDIE(N, Die);

  FileIDCUMap[NewCU->getUniqueID()] = 0;
  // Call this to emit a .file directive if it wasn't emitted for the source
@@ -2587,7 +2586,7 @@ CompileUnit *DwarfDebug::constructSkeletonCU(const MDNode *N) {

  DIE *Die = new DIE(dwarf::DW_TAG_compile_unit);
  CompileUnit *NewCU = new CompileUnit(GlobalCUIndexCount++,
                                       DIUnit.getLanguage(), Die, Asm,
                                       DIUnit.getLanguage(), Die, N, Asm,
                                       this, &SkeletonHolder);

  NewCU->addLocalString(Die, dwarf::DW_AT_GNU_dwo_name,