diff options
author | Dan Gohman <gohman@apple.com> | 2010-08-24 02:05:17 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-08-24 02:05:17 +0000 |
commit | 9d072f51ebf61edda9c31f831c2642d110170d13 (patch) | |
tree | 0032c41b1a518a68fb135658545cfac8d61cddbe | |
parent | 078b05320a0bad930332a2071832c2bb725ce4a5 (diff) | |
download | external_llvm-9d072f51ebf61edda9c31f831c2642d110170d13.zip external_llvm-9d072f51ebf61edda9c31f831c2642d110170d13.tar.gz external_llvm-9d072f51ebf61edda9c31f831c2642d110170d13.tar.bz2 |
Give ParseInstructionMetadata access to the PerFunctionState object.
This is in preparation for generalizing its parsing of function-local
values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111893 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AsmParser/LLParser.cpp | 7 | ||||
-rw-r--r-- | lib/AsmParser/LLParser.h | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index 0c5e049..028c2bb 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -1117,7 +1117,8 @@ bool LLParser::ParseOptionalCallingConv(CallingConv::ID &CC) { /// ParseInstructionMetadata /// ::= !dbg !42 (',' !dbg !57)* -bool LLParser::ParseInstructionMetadata(Instruction *Inst) { +bool LLParser::ParseInstructionMetadata(Instruction *Inst, + PerFunctionState *PFS) { do { if (Lex.getKind() != lltok::MetadataVar) return TokError("expected metadata after comma"); @@ -2981,7 +2982,7 @@ bool LLParser::ParseBasicBlock(PerFunctionState &PFS) { // With a normal result, we check to see if the instruction is followed by // a comma and metadata. if (EatIfPresent(lltok::comma)) - if (ParseInstructionMetadata(Inst)) + if (ParseInstructionMetadata(Inst, &PFS)) return true; break; case InstExtraComma: @@ -2989,7 +2990,7 @@ bool LLParser::ParseBasicBlock(PerFunctionState &PFS) { // If the instruction parser ate an extra comma at the end of it, it // *must* be followed by metadata. - if (ParseInstructionMetadata(Inst)) + if (ParseInstructionMetadata(Inst, &PFS)) return true; break; } diff --git a/lib/AsmParser/LLParser.h b/lib/AsmParser/LLParser.h index f765a2a..848430e 100644 --- a/lib/AsmParser/LLParser.h +++ b/lib/AsmParser/LLParser.h @@ -180,7 +180,6 @@ namespace llvm { bool ParseOptionalCallingConv(CallingConv::ID &CC); bool ParseOptionalAlignment(unsigned &Alignment); bool ParseOptionalStackAlignment(unsigned &Alignment); - bool ParseInstructionMetadata(Instruction *Inst); bool ParseOptionalCommaAlign(unsigned &Alignment, bool &AteExtraComma); bool ParseIndexList(SmallVectorImpl<unsigned> &Indices,bool &AteExtraComma); bool ParseIndexList(SmallVectorImpl<unsigned> &Indices) { @@ -310,6 +309,7 @@ namespace llvm { bool ParseGlobalValueVector(SmallVectorImpl<Constant*> &Elts); bool ParseMetadataValue(ValID &ID, PerFunctionState *PFS); bool ParseMDNodeVector(SmallVectorImpl<Value*> &, PerFunctionState *PFS); + bool ParseInstructionMetadata(Instruction *Inst, PerFunctionState *PFS); // Function Parsing. struct ArgInfo { |