Enhance the fixed length disassembler to better handle operand decoding failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136635 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/FixedLenDecoderEmitter.cpp b/utils/TableGen/FixedLenDecoderEmitter.cpp
index b87634b..5d42e71 100644
--- a/utils/TableGen/FixedLenDecoderEmitter.cpp
+++ b/utils/TableGen/FixedLenDecoderEmitter.cpp
@@ -744,8 +744,8 @@
}
if (Decoder != "")
- o.indent(Indentation) << " " << Decoder
- << "(MI, tmp, Address, Decoder);\n";
+ o.indent(Indentation) << " if (!" << Decoder
+ << "(MI, tmp, Address, Decoder)) return false;\n";
else
o.indent(Indentation) << " MI.addOperand(MCOperand::CreateImm(tmp));\n";