X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAsmParser%2FLLParser.h;h=7106689081d32c3c741d404013b92fdc0b2edaa1;hb=b903bed0feaa35a2b5e404923db724a62b433787;hp=e064c686b34b34be6056595ec3e790455792a5f4;hpb=ad7d1e2085a489dbedc65b99bab811771ead1aab;p=oota-llvm.git diff --git a/lib/AsmParser/LLParser.h b/lib/AsmParser/LLParser.h index e064c686b34..7106689081d 100644 --- a/lib/AsmParser/LLParser.h +++ b/lib/AsmParser/LLParser.h @@ -27,6 +27,8 @@ namespace llvm { class Instruction; class Constant; class GlobalValue; + class MDString; + class MDNode; struct ValID; class LLParser { @@ -139,10 +141,10 @@ namespace llvm { bool ParseAlias(const std::string &Name, LocTy Loc, unsigned Visibility); // Type Parsing. - bool ParseType(PATypeHolder &Result); - bool ParseType(PATypeHolder &Result, LocTy &Loc) { + bool ParseType(PATypeHolder &Result, bool AllowVoid = false); + bool ParseType(PATypeHolder &Result, LocTy &Loc, bool AllowVoid = false) { Loc = Lex.getLoc(); - return ParseType(Result); + return ParseType(Result, AllowVoid); } bool ParseTypeRec(PATypeHolder &H); bool ParseStructType(PATypeHolder &H, bool Packed); @@ -156,6 +158,7 @@ namespace llvm { bool ParseGlobalValue(const Type *Ty, Constant *&V); bool ParseGlobalTypeAndValue(Constant *&V); bool ParseGlobalValueVector(SmallVectorImpl &Elts); + bool ParseMDNodeVector(SmallVectorImpl &); // Function Semantic Analysis. @@ -232,7 +235,7 @@ namespace llvm { : Loc(L), Type(Ty), Attrs(Attr), Name(N) {} }; bool ParseArgumentList(std::vector &ArgList, - bool &isVarArg); + bool &isVarArg, bool inType); bool ParseFunctionHeader(Function *&Fn, bool isDefine); bool ParseFunctionBody(Function &Fn); bool ParseBasicBlock(PerFunctionState &PFS); @@ -247,12 +250,13 @@ namespace llvm { bool ParseSwitch(Instruction *&Inst, PerFunctionState &PFS); bool ParseInvoke(Instruction *&Inst, PerFunctionState &PFS); - bool ParseArithmetic(Instruction *&I, PerFunctionState &PFS, unsigned Opc); + bool ParseArithmetic(Instruction *&I, PerFunctionState &PFS, unsigned Opc, + unsigned OperandType); bool ParseLogical(Instruction *&I, PerFunctionState &PFS, unsigned Opc); bool ParseCompare(Instruction *&I, PerFunctionState &PFS, unsigned Opc); bool ParseCast(Instruction *&I, PerFunctionState &PFS, unsigned Opc); bool ParseSelect(Instruction *&I, PerFunctionState &PFS); - bool ParseVAArg(Instruction *&I, PerFunctionState &PFS); + bool ParseVA_Arg(Instruction *&I, PerFunctionState &PFS); bool ParseExtractElement(Instruction *&I, PerFunctionState &PFS); bool ParseInsertElement(Instruction *&I, PerFunctionState &PFS); bool ParseShuffleVector(Instruction *&I, PerFunctionState &PFS);