mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-27 14:24:40 +00:00
MIR Serialization: Serialize the virtual register operands.
Reviewers: Duncan P. N. Exon Smith Differential Revision: http://reviews.llvm.org/D11005 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241959 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -288,6 +288,17 @@ bool MIParser::parseRegister(unsigned &Reg) {
|
||||
return error(Twine("unknown register name '") + Name + "'");
|
||||
break;
|
||||
}
|
||||
case MIToken::VirtualRegister: {
|
||||
unsigned ID;
|
||||
if (getUnsigned(ID))
|
||||
return true;
|
||||
const auto RegInfo = PFS.VirtualRegisterSlots.find(ID);
|
||||
if (RegInfo == PFS.VirtualRegisterSlots.end())
|
||||
return error(Twine("use of undefined virtual register '%") + Twine(ID) +
|
||||
"'");
|
||||
Reg = RegInfo->second;
|
||||
break;
|
||||
}
|
||||
// TODO: Parse other register kinds.
|
||||
default:
|
||||
llvm_unreachable("The current token should be a register");
|
||||
@ -425,6 +436,7 @@ bool MIParser::parseMachineOperand(MachineOperand &Dest) {
|
||||
case MIToken::kw_undef:
|
||||
case MIToken::underscore:
|
||||
case MIToken::NamedRegister:
|
||||
case MIToken::VirtualRegister:
|
||||
return parseRegisterOperand(Dest);
|
||||
case MIToken::IntegerLiteral:
|
||||
return parseImmediateOperand(Dest);
|
||||
|
Reference in New Issue
Block a user