From: Chris Lattner Date: Wed, 30 Dec 2009 02:20:07 +0000 (+0000) Subject: remove the code added in r90497. It has several major issues and no tests. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c49363bcd92a9b60171199d38e57234757cf00fc;p=oota-llvm.git remove the code added in r90497. It has several major issues and no tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92288 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index e76232db142..db2a5a92ab9 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -568,37 +568,6 @@ bool LLParser::ParseStandaloneMetadata() { return false; } -/// ParseInlineMetadata: -/// !{type %instr} -/// !{...} MDNode -/// !"foo" MDString -bool LLParser::ParseInlineMetadata(Value *&V, PerFunctionState &PFS) { - assert(Lex.getKind() == lltok::Metadata && "Only for Metadata"); - V = 0; - - Lex.Lex(); - if (EatIfPresent(lltok::lbrace)) { - if (ParseTypeAndValue(V, PFS) || - ParseToken(lltok::rbrace, "expected end of metadata node")) - return true; - - V = MDNode::get(Context, &V, 1); - return false; - } - - // FIXME: This can't possibly work at all. r90497 - - // Standalone metadata reference - // !{ ..., !42, ... } - if (!ParseMDNode((MDNode *&)V)) - return false; - - // MDString: - // '!' STRINGCONSTANT - if (ParseMDString((MDString *&)V)) return true; - return false; -} - /// ParseAlias: /// ::= GlobalVar '=' OptionalVisibility 'alias' OptionalLinkage Aliasee /// Aliasee @@ -1408,14 +1377,6 @@ bool LLParser::ParseParameterList(SmallVectorImpl &ArgList, if (ParseType(ArgTy, ArgLoc)) return true; - // Parse metadata operands to calls (for intrinsics). - if (Lex.getKind() == lltok::Metadata) { - if (ParseInlineMetadata(V, PFS)) - return true; - ArgList.push_back(ParamInfo(ArgLoc, V, Attribute::None)); - continue; - } - // Otherwise, handle normal operands. if (ParseOptionalAttrs(ArgAttrs1, 0) || ParseValue(ArgTy, V, PFS) || @@ -2515,8 +2476,8 @@ bool LLParser::ConvertValIDToValue(const Type *Ty, ValID &ID, Value *&V, case ValID::t_MDString: V = ID.MDStringVal; case ValID::t_InlineAsm: { const PointerType *PTy = dyn_cast(Ty); - const FunctionType *FTy = - PTy ? dyn_cast(PTy->getElementType()) : 0; + const FunctionType *FTy = + PTy ? dyn_cast(PTy->getElementType()) : 0; if (!FTy || !InlineAsm::Verify(FTy, ID.StrVal2)) return Error(ID.Loc, "invalid type for inline asm constraint string"); V = InlineAsm::get(FTy, ID.StrVal, ID.StrVal2, ID.UIntVal&1, ID.UIntVal>>1); diff --git a/lib/AsmParser/LLParser.h b/lib/AsmParser/LLParser.h index fd7bf4eb71f..31707287913 100644 --- a/lib/AsmParser/LLParser.h +++ b/lib/AsmParser/LLParser.h @@ -283,8 +283,6 @@ namespace llvm { return ParseTypeAndBasicBlock(BB, Loc, PFS); } - bool ParseInlineMetadata(Value *&V, PerFunctionState &PFS); - struct ParamInfo { LocTy Loc; Value *V;