mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-11 16:37:42 +00:00
MIR Parser: Extract the MDNode parsing code into a separate method. NFC.
This change would allow the machine instruction parser to reuse this method when parsing the metadata node for the machine instruction's debug location property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242934 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
380de5479c
commit
d02a9a798c
@ -112,6 +112,7 @@ public:
|
||||
bool parseConstantPoolIndexOperand(MachineOperand &Dest);
|
||||
bool parseJumpTableIndexOperand(MachineOperand &Dest);
|
||||
bool parseExternalSymbolOperand(MachineOperand &Dest);
|
||||
bool parseMDNode(MDNode *&Node);
|
||||
bool parseMetadataOperand(MachineOperand &Dest);
|
||||
bool parseCFIOffset(int &Offset);
|
||||
bool parseCFIOperand(MachineOperand &Dest);
|
||||
@ -576,7 +577,7 @@ bool MIParser::parseExternalSymbolOperand(MachineOperand &Dest) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool MIParser::parseMetadataOperand(MachineOperand &Dest) {
|
||||
bool MIParser::parseMDNode(MDNode *&Node) {
|
||||
assert(Token.is(MIToken::exclaim));
|
||||
auto Loc = Token.location();
|
||||
lex();
|
||||
@ -589,7 +590,15 @@ bool MIParser::parseMetadataOperand(MachineOperand &Dest) {
|
||||
if (NodeInfo == IRSlots.MetadataNodes.end())
|
||||
return error(Loc, "use of undefined metadata '!" + Twine(ID) + "'");
|
||||
lex();
|
||||
Dest = MachineOperand::CreateMetadata(NodeInfo->second.get());
|
||||
Node = NodeInfo->second.get();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool MIParser::parseMetadataOperand(MachineOperand &Dest) {
|
||||
MDNode *Node = nullptr;
|
||||
if (parseMDNode(Node))
|
||||
return true;
|
||||
Dest = MachineOperand::CreateMetadata(Node);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user