switch the load table to use a recycling bump pointer allocator,
authorChris Lattner <sabre@nondot.org>
Mon, 3 Jan 2011 03:53:50 +0000 (03:53 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 3 Jan 2011 03:53:50 +0000 (03:53 +0000)
speeding earlycse up by 6%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122733 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/EarlyCSE.cpp

index 06c1b9111187cf04addfab439021c095f623e82f..4ff150ad60cb36d4e13494838a1a4543c09bb1f3 100644 (file)
@@ -221,7 +221,10 @@ public:
   /// the current generation count.  The current generation count is
   /// incremented after every possibly writing memory operation, which ensures
   /// that we only CSE loads with other loads that have no intervening store.
-  typedef ScopedHashTable<Value*, std::pair<Value*, unsigned> > LoadHTType;
+  typedef RecyclingAllocator<BumpPtrAllocator,
+    ScopedHashTableVal<Value*, std::pair<Value*, unsigned> > > LoadMapAllocator;
+  typedef ScopedHashTable<Value*, std::pair<Value*, unsigned>,
+                          DenseMapInfo<Value*>, LoadMapAllocator> LoadHTType;
   LoadHTType *AvailableLoads;
   
   /// AvailableCalls - This scoped hash table contains the current values