mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-15 19:24:33 +00:00
MIR Serialization: Serialize the 'killed' register machine operand flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241734 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -308,6 +308,9 @@ bool MIParser::parseRegisterFlag(unsigned &Flags) {
|
||||
case MIToken::kw_dead:
|
||||
Flags |= RegState::Dead;
|
||||
break;
|
||||
case MIToken::kw_killed:
|
||||
Flags |= RegState::Kill;
|
||||
break;
|
||||
// TODO: report an error when we specify the same flag more than once.
|
||||
// TODO: parse the other register flags.
|
||||
default:
|
||||
@@ -330,9 +333,9 @@ bool MIParser::parseRegisterOperand(MachineOperand &Dest, bool IsDef) {
|
||||
return true;
|
||||
lex();
|
||||
// TODO: Parse subregister.
|
||||
Dest = MachineOperand::CreateReg(Reg, Flags & RegState::Define,
|
||||
Flags & RegState::Implicit, /*IsKill=*/false,
|
||||
Flags & RegState::Dead);
|
||||
Dest = MachineOperand::CreateReg(
|
||||
Reg, Flags & RegState::Define, Flags & RegState::Implicit,
|
||||
Flags & RegState::Kill, Flags & RegState::Dead);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -417,6 +420,7 @@ bool MIParser::parseMachineOperand(MachineOperand &Dest) {
|
||||
case MIToken::kw_implicit:
|
||||
case MIToken::kw_implicit_define:
|
||||
case MIToken::kw_dead:
|
||||
case MIToken::kw_killed:
|
||||
case MIToken::underscore:
|
||||
case MIToken::NamedRegister:
|
||||
return parseRegisterOperand(Dest);
|
||||
|
Reference in New Issue
Block a user