From: Ted Kremenek Date: Mon, 29 Mar 2010 18:29:57 +0000 (+0000) Subject: Change 'TypeCache' from being an std::map to a llvm::DenseMap. This reduces codegen... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=590838badd46e0559a6b709857fb87530e546276;p=clang Change 'TypeCache' from being an std::map to a llvm::DenseMap. This reduces codegen time on one .i file from 403.gcc by 0.5%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99823 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index 97e99ea1e0..d8a9f36c82 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -1212,7 +1212,7 @@ llvm::DIType CGDebugInfo::getOrCreateType(QualType Ty, Ty = UnwrapTypeForDebugInfo(Ty); // Check for existing entry. - std::map::iterator it = + llvm::DenseMap::iterator it = TypeCache.find(Ty.getAsOpaquePtr()); if (it != TypeCache.end()) { // Verify that the debug info still exists. diff --git a/lib/CodeGen/CGDebugInfo.h b/lib/CodeGen/CGDebugInfo.h index 47a4620483..3a9a4cc12b 100644 --- a/lib/CodeGen/CGDebugInfo.h +++ b/lib/CodeGen/CGDebugInfo.h @@ -53,7 +53,7 @@ class CGDebugInfo { /// TypeCache - Cache of previously constructed Types. // FIXME: Eliminate this map. Be careful of iterator invalidation. - std::map TypeCache; + llvm::DenseMap TypeCache; bool BlockLiteralGenericSet; llvm::DIType BlockLiteralGeneric;