[llvm-commits] [llvm] r54896 - /llvm/trunk/lib/VMCore/AsmWriter.cpp

Chris Lattner sabre at nondot.org
Sun Aug 17 10:25:26 PDT 2008


Author: lattner
Date: Sun Aug 17 12:25:25 2008
New Revision: 54896

URL: http://llvm.org/viewvc/llvm-project?rev=54896&view=rev
Log:
switch valuemap's from std::map to densemap.  This speeds up llvm-dis
on a stripped kc++ .bc file from 0.83 to 0.77s (8%)

Modified:
    llvm/trunk/lib/VMCore/AsmWriter.cpp

Modified: llvm/trunk/lib/VMCore/AsmWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/AsmWriter.cpp?rev=54896&r1=54895&r2=54896&view=diff

==============================================================================
--- llvm/trunk/lib/VMCore/AsmWriter.cpp (original)
+++ llvm/trunk/lib/VMCore/AsmWriter.cpp Sun Aug 17 12:25:25 2008
@@ -26,6 +26,7 @@
 #include "llvm/Module.h"
 #include "llvm/ValueSymbolTable.h"
 #include "llvm/TypeSymbolTable.h"
+#include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/CFG.h"
@@ -46,7 +47,7 @@
 class SlotMachine {
 public:
   /// ValueMap - A mapping of Values to slot numbers
-  typedef std::map<const Value*, unsigned> ValueMap;
+  typedef DenseMap<const Value*, unsigned> ValueMap;
   
 private:  
   /// TheModule - The module for which we are holding slot numbers
@@ -1605,7 +1606,7 @@
   : TheModule(M)    ///< Saved for lazy initialization.
   , TheFunction(0)
   , FunctionProcessed(false)
-  , mNext(0), fMap(), fNext(0)
+  , mNext(0), fNext(0)
 {
 }
 
@@ -1615,7 +1616,7 @@
   : TheModule(F ? F->getParent() : 0) ///< Saved for lazy initialization
   , TheFunction(F) ///< Saved for lazy initialization
   , FunctionProcessed(false)
-  , mNext(0), fMap(), fNext(0)
+  , mNext(0), fNext(0)
 {
 }
 
@@ -1694,10 +1695,8 @@
   initialize();
   
   // Find the type plane in the module map
-  ValueMap::const_iterator MI = mMap.find(V);
-  if (MI == mMap.end()) return -1;
-
-  return MI->second;
+  ValueMap::iterator MI = mMap.find(V);
+  return MI == mMap.end() ? -1 : MI->second;
 }
 
 
@@ -1708,10 +1707,8 @@
   // Check for uninitialized state and do lazy initialization.
   initialize();
 
-  ValueMap::const_iterator FI = fMap.find(V);
-  if (FI == fMap.end()) return -1;
-  
-  return FI->second;
+  ValueMap::iterator FI = fMap.find(V);
+  return FI == fMap.end() ? -1 : FI->second;
 }
 
 





More information about the llvm-commits mailing list