summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MIRParser/MIParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser/MIParser.cpp')
-rw-r--r--llvm/lib/CodeGen/MIRParser/MIParser.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
index 463cc19d85e..8eefe19a408 100644
--- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
@@ -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);
OpenPOWER on IntegriCloud