mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-26 14:16:12 +00:00
Give ParseInstructionMetadata access to the PerFunctionState object.
This is in preparation for generalizing its parsing of function-local values. llvm-svn: 111893
This commit is contained in:
parent
5b8e9845c4
commit
c68320f6ad
@ -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;
|
||||
}
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user