From 0b271ad1f873572286f19279069a340e8339bd75 Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Wed, 13 Jan 2016 07:20:13 +0000 Subject: [PATCH] [TableGen] Cleanup output formatting and add llvm_unreachables to the output the AsmMatcher uses when it overflows the 64-bit tables. No in tree targets use this code, but I tested it with an temporarily reduced table width. llvm-svn: 257583 --- llvm/utils/TableGen/AsmWriterEmitter.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/llvm/utils/TableGen/AsmWriterEmitter.cpp b/llvm/utils/TableGen/AsmWriterEmitter.cpp index af82f9c21da3..cf7cbd962865 100644 --- a/llvm/utils/TableGen/AsmWriterEmitter.cpp +++ b/llvm/utils/TableGen/AsmWriterEmitter.cpp @@ -65,7 +65,7 @@ private: static void PrintCases(std::vector > &OpsToPrint, raw_ostream &O) { - O << " case " << OpsToPrint.back().first << ": "; + O << " case " << OpsToPrint.back().first << ":"; AsmWriterOperand TheOp = OpsToPrint.back().second; OpsToPrint.pop_back(); @@ -73,13 +73,13 @@ static void PrintCases(std::vector &Insts, // If this is the operand that varies between all of the instructions, // emit a switch for just this operand now. O << " switch (MI->getOpcode()) {\n"; + O << " default: llvm_unreachable(\"Unexpected opcode.\");\n"; std::vector > OpsToPrint; OpsToPrint.push_back(std::make_pair(FirstInst.CGI->Namespace + "::" + FirstInst.CGI->TheDef->getName(), @@ -499,11 +500,11 @@ void AsmWriterEmitter::EmitPrintInstruction(raw_ostream &O) { if (!Instructions.empty()) { // Find the opcode # of inline asm. O << " switch (MI->getOpcode()) {\n"; + O << " default: llvm_unreachable(\"Unexpected opcode.\");\n"; while (!Instructions.empty()) EmitInstructions(Instructions, O); O << " }\n"; - O << " return;\n"; } O << "}\n";