[llvm-commits] [llvm] r171905 - in /llvm/trunk/lib/CodeGen/AsmPrinter: DwarfDebug.cpp DwarfDebug.h

Eric Christopher echristo at gmail.com
Tue Jan 8 14:22:06 PST 2013


Author: echristo
Date: Tue Jan  8 16:22:06 2013
New Revision: 171905

URL: http://llvm.org/viewvc/llvm-project?rev=171905&view=rev
Log:
Move the string pools down into the units. No functional change.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=171905&r1=171904&r2=171905&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Tue Jan  8 16:22:06 2013
@@ -155,15 +155,14 @@
 DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M)
   : Asm(A), MMI(Asm->MMI), FirstCU(0),
     AbbreviationsSet(InitAbbreviationsSetSize),
-    SourceIdMap(DIEValueAllocator), InfoStringPool(DIEValueAllocator),
+    SourceIdMap(DIEValueAllocator),
     PrevLabel(NULL), GlobalCUIndexCount(0),
-    InfoHolder(A, &AbbreviationsSet, &Abbreviations,
-               &InfoStringPool, "info_string"),
+    InfoHolder(A, &AbbreviationsSet, &Abbreviations, "info_string",
+               DIEValueAllocator),
     SkeletonCU(0),
     SkeletonAbbrevSet(InitAbbreviationsSetSize),
-    SkeletonStringPool(DIEValueAllocator),
-    SkeletonHolder(A, &SkeletonAbbrevSet, &SkeletonAbbrevs,
-                   &SkeletonStringPool, "skel_string") {
+    SkeletonHolder(A, &SkeletonAbbrevSet, &SkeletonAbbrevs, "skel_string",
+                   DIEValueAllocator) {
 
   DwarfInfoSectionSym = DwarfAbbrevSectionSym = 0;
   DwarfStrSectionSym = TextSectionSym = 0;
@@ -221,7 +220,7 @@
 
 MCSymbol *DwarfUnits::getStringPoolEntry(StringRef Str) {
   std::pair<MCSymbol*, unsigned> &Entry =
-    StringPool->GetOrCreateValue(Str).getValue();
+    StringPool.GetOrCreateValue(Str).getValue();
   if (Entry.first) return Entry.first;
 
   Entry.second = NextStringPoolNumber++;
@@ -230,7 +229,7 @@
 
 unsigned DwarfUnits::getStringPoolIndex(StringRef Str) {
   std::pair<MCSymbol*, unsigned> &Entry =
-    StringPool->GetOrCreateValue(Str).getValue();
+    StringPool.GetOrCreateValue(Str).getValue();
   if (Entry.first) return Entry.second;
 
   Entry.second = NextStringPoolNumber++;
@@ -2130,7 +2129,7 @@
                              const MCSection *OffsetSection = NULL,
                              const MCSymbol *StrSecSym = NULL) {
 
-  if (StringPool->empty()) return;
+  if (StringPool.empty()) return;
 
   // Start the dwarf str section.
   Asm->OutStreamer.SwitchSection(StrSection);
@@ -2141,7 +2140,7 @@
                  StringMapEntry<std::pair<MCSymbol*, unsigned> >*>, 64> Entries;
 
   for (StringMap<std::pair<MCSymbol*, unsigned> >::iterator
-         I = StringPool->begin(), E = StringPool->end();
+         I = StringPool.begin(), E = StringPool.end();
        I != E; ++I)
     Entries.push_back(std::make_pair(I->second.second, &*I));
 

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h?rev=171905&r1=171904&r2=171905&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h Tue Jan  8 16:22:06 2013
@@ -211,16 +211,16 @@
   SmallVector<CompileUnit *, 1> CUs;
 
   // Collection of strings for this unit and assorted symbols.
-  StrPool *StringPool;
+  StrPool StringPool;
   unsigned NextStringPoolNumber;
   std::string StringPref;
 
 public:
   DwarfUnits(AsmPrinter *AP, FoldingSet<DIEAbbrev> *AS,
-             std::vector<DIEAbbrev *> *A,
-             StrPool *SP, const char *Pref) :
+             std::vector<DIEAbbrev *> *A, const char *Pref,
+             BumpPtrAllocator &DA) :
     Asm(AP), AbbreviationsSet(AS), Abbreviations(A),
-    StringPool(SP), NextStringPoolNumber(0), StringPref(Pref) {}
+    StringPool(DA), NextStringPoolNumber(0), StringPref(Pref) {}
 
   /// \brief Compute the size and offset of a DIE given an incoming Offset.
   unsigned computeSizeAndOffset(DIE *Die, unsigned Offset);
@@ -254,7 +254,7 @@
   unsigned getStringPoolIndex(StringRef Str);
 
   /// \brief Returns the string pool.
-  StrPool *getStringPool() { return StringPool; }
+  StrPool *getStringPool() { return &StringPool; }
 };
 
 /// \brief Collects and handles dwarf debug information.
@@ -290,10 +290,6 @@
   // separated by a zero byte, mapped to a unique id.
   StringMap<unsigned, BumpPtrAllocator&> SourceIdMap;
 
-  // A String->Symbol mapping of strings used by indirect
-  // references.
-  StrPool InfoStringPool;
-
   // Provides a unique id per text section.
   SetVector<const MCSection*> SectionMap;
 
@@ -409,9 +405,6 @@
   // A list of all the unique abbreviations in use.
   std::vector<DIEAbbrev *> SkeletonAbbrevs;
 
-  // List of strings used in the skeleton.
-  StrPool SkeletonStringPool;
-
   // Holder for the skeleton information.
   DwarfUnits SkeletonHolder;
 





More information about the llvm-commits mailing list