From: Chris Lattner Date: Mon, 9 Feb 2004 03:03:10 +0000 (+0000) Subject: Upreferences are always OpaqueTypes, meaning that it is impossible for a non-abstract X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2c37c18c6e9f5f2b898ac410da5306614a4db5c0;p=oota-llvm.git 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 --- diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 523f95cd44a..f0f027ec248 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -603,6 +603,7 @@ static std::vector > 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" <<