Author: dexonsmith Date: Fri Jul 24 13:05:58 2015 New Revision: 243129 URL: http://llvm.org/viewvc/llvm-project?rev=243129&view=rev Log: DI: Make StaticDataMemberCache type-safe, NFC
Change `StaticDataMemberCache` to store references to `DIDerivedType` directly, and remove now-unnecessary casts from the accessors. Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp cfe/trunk/lib/CodeGen/CGDebugInfo.h Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=243129&r1=243128&r2=243129&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original) +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Fri Jul 24 13:05:58 2015 @@ -972,7 +972,7 @@ void CGDebugInfo::CollectRecordFields( if (MI != StaticDataMemberCache.end()) { assert(MI->second && "Static data member declaration should still exist"); - elements.push_back(cast<llvm::DIDerivedTypeBase>(MI->second)); + elements.push_back(MI->second); } else { auto Field = CreateRecordStaticField(V, RecordTy, record); elements.push_back(Field); @@ -3115,7 +3115,7 @@ CGDebugInfo::getOrCreateStaticDataMember auto MI = StaticDataMemberCache.find(D->getCanonicalDecl()); if (MI != StaticDataMemberCache.end()) { assert(MI->second && "Static data member declaration should still exist"); - return cast<llvm::DIDerivedType>(MI->second); + return MI->second; } // If the member wasn't found in the cache, lazily construct and add it to the Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.h?rev=243129&r1=243128&r2=243129&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CGDebugInfo.h (original) +++ cfe/trunk/lib/CodeGen/CGDebugInfo.h Fri Jul 24 13:05:58 2015 @@ -117,7 +117,8 @@ class CGDebugInfo { llvm::DenseMap<const NamespaceDecl *, llvm::TrackingMDRef> NameSpaceCache; llvm::DenseMap<const NamespaceAliasDecl *, llvm::TrackingMDRef> NamespaceAliasCache; - llvm::DenseMap<const Decl *, llvm::TrackingMDRef> StaticDataMemberCache; + llvm::DenseMap<const Decl *, llvm::TypedTrackingMDRef<llvm::DIDerivedType>> + StaticDataMemberCache; /// Helper functions for getOrCreateType. /// @{ _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits