From 64ecf85f63ef5613fe25ef7e0466c60f7d9c1908 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 13 Jun 2020 15:15:39 +0200 Subject: [PATCH] [LVI] Use find_as() where possible (NFC) This prevents us from creating temporary PoisoningVHs and AssertingVHs while performing hashmap lookups. As such, it only matters in assertion-enabled builds. --- llvm/lib/Analysis/LazyValueInfo.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm/lib/Analysis/LazyValueInfo.cpp b/llvm/lib/Analysis/LazyValueInfo.cpp index 65da4ad..eb0bb26 100644 --- a/llvm/lib/Analysis/LazyValueInfo.cpp +++ b/llvm/lib/Analysis/LazyValueInfo.cpp @@ -168,14 +168,14 @@ namespace { DenseSet> ValueHandles; const BlockCacheEntry *getBlockEntry(BasicBlock *BB) const { - auto It = BlockCache.find(BB); + auto It = BlockCache.find_as(BB); if (It == BlockCache.end()) return nullptr; return It->second.get(); } BlockCacheEntry *getOrCreateBlockEntry(BasicBlock *BB) { - auto It = BlockCache.find(BB); + auto It = BlockCache.find_as(BB); if (It == BlockCache.end()) It = BlockCache.insert({ BB, std::make_unique() }) .first; @@ -209,7 +209,7 @@ namespace { if (Entry->OverDefined.count(V)) return ValueLatticeElement::getOverdefined(); - auto LatticeIt = Entry->LatticeElements.find(V); + auto LatticeIt = Entry->LatticeElements.find_as(V); if (LatticeIt == Entry->LatticeElements.end()) return None; @@ -290,7 +290,7 @@ void LazyValueInfoCache::threadEdgeImpl(BasicBlock *OldSucc, if (ToUpdate == NewSucc) continue; // If a value was marked overdefined in OldSucc, and is here too... - auto OI = BlockCache.find(ToUpdate); + auto OI = BlockCache.find_as(ToUpdate); if (OI == BlockCache.end() || OI->second->OverDefined.empty()) continue; auto &ValueSet = OI->second->OverDefined; -- 2.7.4