From: Bruno Cardoso Lopes Date: Tue, 18 Aug 2015 16:54:36 +0000 (+0000) Subject: [LVI] Use a SmallDenseMap instead of std::map for ValueCacheEntryTy X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=4628dff6430f6583fbf4342a1fbba66c54c8db4b;p=oota-llvm.git [LVI] Use a SmallDenseMap instead of std::map for ValueCacheEntryTy Historically there seems to be some resistance regarding the change to DenseMap (r147980). However, I couldn't find cases of iterator invalidation for ValueCacheEntryTy, but only for ValueCache, which I left untouched. This reduces 20s on an internal testcase. Follow up from r245309. Differential Revision: http://reviews.llvm.org/D11651 rdar://problem/21320066 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245314 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/LazyValueInfo.cpp b/lib/Analysis/LazyValueInfo.cpp index 5904257492b..a984bc40ac1 100644 --- a/lib/Analysis/LazyValueInfo.cpp +++ b/lib/Analysis/LazyValueInfo.cpp @@ -315,7 +315,8 @@ namespace { /// This is all of the cached block information for exactly one Value*. /// The entries are sorted by the BasicBlock* of the /// entries, allowing us to do a lookup with a binary search. - typedef std::map, LVILatticeVal> ValueCacheEntryTy; + typedef SmallDenseMap, LVILatticeVal, 4> + ValueCacheEntryTy; /// This is all of the cached information for all values, /// mapped from Value* to key information.