diff options
Diffstat (limited to 'llvm/utils/TableGen/AsmMatcherEmitter.cpp')
| -rw-r--r-- | llvm/utils/TableGen/AsmMatcherEmitter.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp index 511538db9d7..6262cf8cc16 100644 --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp @@ -1380,9 +1380,14 @@ static void EmitConvertToMCInst(CodeGenTarget &Target, break; } case MatchableInfo::ResOperand::RegOperand: { - std::string N = getQualifiedName(OpInfo.Register); - CaseOS << " Inst.addOperand(MCOperand::CreateReg(" << N << "));\n"; - Signature += "__reg" + OpInfo.Register->getName(); + if (OpInfo.Register == 0) { + CaseOS << " Inst.addOperand(MCOperand::CreateReg(0));\n"; + Signature += "__reg0"; + } else { + std::string N = getQualifiedName(OpInfo.Register); + CaseOS << " Inst.addOperand(MCOperand::CreateReg(" << N << "));\n"; + Signature += "__reg" + OpInfo.Register->getName(); + } } } } |

