simplify condition
authorChris Lattner <sabre@nondot.org>
Sat, 28 Feb 2009 20:28:50 +0000 (20:28 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 28 Feb 2009 20:28:50 +0000 (20:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65711 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/AsmWriter.cpp

index c59bc0e164a20b2aa2e3847a0932978e944113f5..d07ff8f4fc7a73c2c88ededfe9bd1e917ffd9fb8 100644 (file)
@@ -168,15 +168,18 @@ TypePrinting::TypePrinting(const Module *M, raw_ostream &os) : OS(os) {
   const TypeSymbolTable &ST = M->getTypeSymbolTable();
   for (TypeSymbolTable::const_iterator TI = ST.begin(), E = ST.end();
        TI != E; ++TI) {
+    const Type *Ty = cast<Type>(TI->second);
+    
     // As a heuristic, don't insert pointer to primitive types, because
     // they are used too often to have a single useful name.
-    //
-    const Type *Ty = cast<Type>(TI->second);
-    if (!isa<PointerType>(Ty) ||
-        !cast<PointerType>(Ty)->getElementType()->isPrimitiveType() ||
-        !cast<PointerType>(Ty)->getElementType()->isInteger() ||
-        isa<OpaqueType>(cast<PointerType>(Ty)->getElementType()))
-      TypeNames.insert(std::make_pair(Ty, '%' + getLLVMName(TI->first)));
+    if (const PointerType *PTy = dyn_cast<PointerType>(Ty)) {
+      const Type *PETy = PTy->getElementType();
+      if ((PETy->isPrimitiveType() || PETy->isInteger()) &&
+          !isa<OpaqueType>(PETy))
+        continue;
+    }
+    
+    TypeNames.insert(std::make_pair(Ty, '%' + getLLVMName(TI->first)));
   }
 }