r182404 - Debug Info: Simplify the code changed in r182403 to reduce indent & avoid a duplicate lookup in the insertion case

David Blaikie dblaikie at gmail.com
Tue May 21 11:29:40 PDT 2013


Author: dblaikie
Date: Tue May 21 13:29:40 2013
New Revision: 182404

URL: http://llvm.org/viewvc/llvm-project?rev=182404&view=rev
Log:
Debug Info: Simplify the code changed in r182403 to reduce indent & avoid a duplicate lookup in the insertion case

Modified:
    cfe/trunk/lib/CodeGen/CGDebugInfo.cpp

Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=182404&r1=182403&r2=182404&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Tue May 21 13:29:40 2013
@@ -1932,21 +1932,20 @@ llvm::DIType CGDebugInfo::getOrCreateTyp
     // the ObjCInterfaceCache together with a checksum. Instead of
     // the (possibly) incomplete interface type, we return a forward
     // declaration that gets RAUW'd in CGDebugInfo::finalize().
-    llvm::DenseMap<void *, std::pair<llvm::WeakVH, unsigned > >
-      ::iterator it = ObjCInterfaceCache.find(TyPtr);
-    if (it != ObjCInterfaceCache.end())
-      TC = llvm::DIType(cast<llvm::MDNode>(it->second.first));
-    else {
-      TC = DBuilder.createForwardDecl(llvm::dwarf::DW_TAG_structure_type,
-                                      Decl->getName(), TheCU, Unit,
-                                      getLineNumber(Decl->getLocation()),
-                                      TheCU.getLanguage());
-      // Store the forward declaration in the cache.
-      ObjCInterfaceCache[TyPtr] = std::make_pair(TC, Checksum(Decl));
+    std::pair<llvm::WeakVH, unsigned> &V = ObjCInterfaceCache[TyPtr];
+    if (V.first)
+      return llvm::DIType(cast<llvm::MDNode>(V.first));
+    TC = DBuilder.createForwardDecl(llvm::dwarf::DW_TAG_structure_type,
+                                    Decl->getName(), TheCU, Unit,
+                                    getLineNumber(Decl->getLocation()),
+                                    TheCU.getLanguage());
+    // Store the forward declaration in the cache.
+    V.first = TC;
+    V.second = Checksum(Decl);
+
+    // Register the type for replacement in finalize().
+    ReplaceMap.push_back(std::make_pair(TyPtr, static_cast<llvm::Value*>(TC)));
 
-      // Register the type for replacement in finalize().
-      ReplaceMap.push_back(std::make_pair(TyPtr, static_cast<llvm::Value*>(TC)));
-    }
     return TC;
   }
 





More information about the cfe-commits mailing list