From: Bill Wendling Date: Thu, 9 Apr 2009 21:49:15 +0000 (+0000) Subject: Use a StringMap instead of std::map for storing std::string->DIE* maps. This X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=972bbac789d1ca00c39b258a6262286a3551da13;p=oota-llvm.git Use a StringMap instead of std::map for storing std::string->DIE* maps. This gives a micro speedup in the Dwarf writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68728 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index b96babf1d34..5a721accad8 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -727,7 +727,7 @@ class CompileUnit { /// Globals - A map of globally visible named entities for this unit. /// - std::map Globals; + StringMap Globals; /// DiesSet - Used to uniquely define dies within the compile unit. /// @@ -745,7 +745,7 @@ public: // Accessors. unsigned getID() const { return ID; } DIE* getDie() const { return Die; } - std::map &getGlobals() { return Globals; } + StringMap &getGlobals() { return Globals; } /// hasContent - Return true if this compile unit has something to write out. /// @@ -2103,8 +2103,8 @@ private: void ConstructDefaultDbgScope(MachineFunction *MF) { const char *FnName = MF->getFunction()->getNameStart(); if (MainCU) { - std::map &Globals = MainCU->getGlobals(); - std::map::iterator GI = Globals.find(FnName); + StringMap &Globals = MainCU->getGlobals(); + StringMap::iterator GI = Globals.find(FnName); if (GI != Globals.end()) { DIE *SPDie = GI->second; @@ -2121,8 +2121,8 @@ private: } else { for (unsigned i = 0, e = CompileUnits.size(); i != e; ++i) { CompileUnit *Unit = CompileUnits[i]; - std::map &Globals = Unit->getGlobals(); - std::map::iterator GI = Globals.find(FnName); + StringMap &Globals = Unit->getGlobals(); + StringMap::iterator GI = Globals.find(FnName); if (GI != Globals.end()) { DIE *SPDie = GI->second; @@ -2663,10 +2663,10 @@ private: true); Asm->EOL("Compilation Unit Length"); - std::map &Globals = Unit->getGlobals(); - for (std::map::iterator GI = Globals.begin(), - GE = Globals.end(); GI != GE; ++GI) { - const std::string &Name = GI->first; + StringMap &Globals = Unit->getGlobals(); + for (StringMap::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");