[llvm-commits] [llvm] r68728 - /llvm/trunk/lib/CodeGen/AsmPrinter/DwarfWriter.cpp

Bill Wendling isanbard at gmail.com
Thu Apr 9 14:49:15 PDT 2009


Author: void
Date: Thu Apr  9 16:49:15 2009
New Revision: 68728

URL: http://llvm.org/viewvc/llvm-project?rev=68728&view=rev
Log:
Use a StringMap instead of std::map for storing std::string->DIE* maps. This
gives a micro speedup in the Dwarf writer.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfWriter.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfWriter.cpp?rev=68728&r1=68727&r2=68728&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfWriter.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfWriter.cpp Thu Apr  9 16:49:15 2009
@@ -727,7 +727,7 @@
 
   /// Globals - A map of globally visible named entities for this unit.
   ///
-  std::map<std::string, DIE *> Globals;
+  StringMap<DIE*> Globals;
 
   /// DiesSet - Used to uniquely define dies within the compile unit.
   ///
@@ -745,7 +745,7 @@
   // Accessors.
   unsigned getID()           const { return ID; }
   DIE* getDie()              const { return Die; }
-  std::map<std::string, DIE *> &getGlobals() { return Globals; }
+  StringMap<DIE*> &getGlobals() { return Globals; }
 
   /// hasContent - Return true if this compile unit has something to write out.
   ///
@@ -2103,8 +2103,8 @@
   void ConstructDefaultDbgScope(MachineFunction *MF) {
     const char *FnName = MF->getFunction()->getNameStart();
     if (MainCU) {
-      std::map<std::string, DIE*> &Globals = MainCU->getGlobals();
-      std::map<std::string, DIE*>::iterator GI = Globals.find(FnName);
+      StringMap<DIE*> &Globals = MainCU->getGlobals();
+      StringMap<DIE*>::iterator GI = Globals.find(FnName);
       if (GI != Globals.end()) {
         DIE *SPDie = GI->second;
 
@@ -2121,8 +2121,8 @@
     } else {
       for (unsigned i = 0, e = CompileUnits.size(); i != e; ++i) {
         CompileUnit *Unit = CompileUnits[i];
-        std::map<std::string, DIE*> &Globals = Unit->getGlobals();
-        std::map<std::string, DIE*>::iterator GI = Globals.find(FnName);
+        StringMap<DIE*> &Globals = Unit->getGlobals();
+        StringMap<DIE*>::iterator GI = Globals.find(FnName);
         if (GI != Globals.end()) {
           DIE *SPDie = GI->second;
 
@@ -2663,10 +2663,10 @@
                    true);
     Asm->EOL("Compilation Unit Length");
       
-    std::map<std::string, DIE *> &Globals = Unit->getGlobals();
-    for (std::map<std::string, DIE *>::iterator GI = Globals.begin(),
-           GE = Globals.end(); GI != GE; ++GI) {
-      const std::string &Name = GI->first;
+    StringMap<DIE*> &Globals = Unit->getGlobals();
+    for (StringMap<DIE*>::iterator
+           GI = Globals.begin(), GE = Globals.end(); GI != GE; ++GI) {
+      const std::string &Name = GI->first();
       DIE * Entity = GI->second;
         
       Asm->EmitInt32(Entity->getOffset()); Asm->EOL("DIE offset");





More information about the llvm-commits mailing list