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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241624 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alex Lorenz
2015-07-07 20:34:53 +00:00
parent f334580b95
commit 78bc2545c9
5 changed files with 37 additions and 2 deletions

View File

@ -305,6 +305,9 @@ bool MIParser::parseRegisterFlag(unsigned &Flags) {
case MIToken::kw_implicit_define:
Flags |= RegState::ImplicitDefine;
break;
case MIToken::kw_dead:
Flags |= RegState::Dead;
break;
// TODO: report an error when we specify the same flag more than once.
// TODO: parse the other register flags.
default:
@ -328,7 +331,8 @@ bool MIParser::parseRegisterOperand(MachineOperand &Dest, bool IsDef) {
lex();
// TODO: Parse subregister.
Dest = MachineOperand::CreateReg(Reg, Flags & RegState::Define,
Flags & RegState::Implicit);
Flags & RegState::Implicit, /*IsKill=*/false,
Flags & RegState::Dead);
return false;
}
@ -412,6 +416,7 @@ bool MIParser::parseMachineOperand(MachineOperand &Dest) {
switch (Token.kind()) {
case MIToken::kw_implicit:
case MIToken::kw_implicit_define:
case MIToken::kw_dead:
case MIToken::underscore:
case MIToken::NamedRegister:
return parseRegisterOperand(Dest);