aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-09 03:03:10 +0000
committerChris Lattner <sabre@nondot.org>2004-02-09 03:03:10 +0000
commit2c37c18c6e9f5f2b898ac410da5306614a4db5c0 (patch)
treea629c0c89d210dfc599dfac627bcb6f2642d1113
parentecea5635f85fc5db3a69d657e39046828538e80a (diff)
downloadexternal_llvm-2c37c18c6e9f5f2b898ac410da5306614a4db5c0.zip
external_llvm-2c37c18c6e9f5f2b898ac410da5306614a4db5c0.tar.gz
external_llvm-2c37c18c6e9f5f2b898ac410da5306614a4db5c0.tar.bz2
Upreferences are always OpaqueTypes, meaning that it is impossible for a non-abstract
type from containing one. This speeds up the asmparser on the testcase in PR224 from 61->50s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11220 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AsmParser/llvmAsmParser.y1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 523f95c..f0f027e 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -603,6 +603,7 @@ static std::vector<std::pair<unsigned, OpaqueType *> > UpRefs;
/// thus we can complete the cycle.
///
static PATypeHolder HandleUpRefs(const Type *ty) {
+ if (!ty->isAbstract()) return ty;
PATypeHolder Ty(ty);
UR_OUT("Type '" << Ty->getDescription() <<
"' newly formed. Resolving upreferences.\n" <<