MIR Serialization: Serialize the 'undef' register machine operand flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241762 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alex Lorenz
2015-07-08 23:58:31 +00:00
parent c1c43c15cc
commit 5faf25b798
5 changed files with 52 additions and 2 deletions

View File

@ -309,6 +309,9 @@ bool MIParser::parseRegisterFlag(unsigned &Flags) {
case MIToken::kw_killed:
Flags |= RegState::Kill;
break;
case MIToken::kw_undef:
Flags |= RegState::Undef;
break;
// TODO: report an error when we specify the same flag more than once.
// TODO: parse the other register flags.
default:
@ -333,7 +336,7 @@ bool MIParser::parseRegisterOperand(MachineOperand &Dest, bool IsDef) {
// TODO: Parse subregister.
Dest = MachineOperand::CreateReg(
Reg, Flags & RegState::Define, Flags & RegState::Implicit,
Flags & RegState::Kill, Flags & RegState::Dead);
Flags & RegState::Kill, Flags & RegState::Dead, Flags & RegState::Undef);
return false;
}
@ -419,6 +422,7 @@ bool MIParser::parseMachineOperand(MachineOperand &Dest) {
case MIToken::kw_implicit_define:
case MIToken::kw_dead:
case MIToken::kw_killed:
case MIToken::kw_undef:
case MIToken::underscore:
case MIToken::NamedRegister:
return parseRegisterOperand(Dest);