aboutsummaryrefslogtreecommitdiff
path: root/lib/VMCore/AsmWriter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-02-28 20:28:50 +0000
committerChris Lattner <sabre@nondot.org>2009-02-28 20:28:50 +0000
commit88344e63d4bd98a3c9a82cf84b73cd28ecef46a1 (patch)
treeb9ae07dd22cf90ae276ff8ec53c7188dd4a6fb87 /lib/VMCore/AsmWriter.cpp
parent9cc3446e570f71e8f55c8db2ca2ce580ad54d607 (diff)
simplify condition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65711 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/AsmWriter.cpp')
-rw-r--r--lib/VMCore/AsmWriter.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index c59bc0e164..d07ff8f4fc 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -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)));
}
}