diff options
Diffstat (limited to 'utils/TableGen/DisassemblerEmitter.cpp')
-rw-r--r-- | utils/TableGen/DisassemblerEmitter.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/utils/TableGen/DisassemblerEmitter.cpp b/utils/TableGen/DisassemblerEmitter.cpp index 126925369c..ccf644b00e 100644 --- a/utils/TableGen/DisassemblerEmitter.cpp +++ b/utils/TableGen/DisassemblerEmitter.cpp @@ -128,5 +128,15 @@ void DisassemblerEmitter::run(raw_ostream &OS) { return; } + // ARM and Thumb have a CHECK() macro to deal with DecodeStatuses. + if (Target.getName() == "ARM" || + Target.getName() == "Thumb") { + FixedLenDecoderEmitter(Records, + "CHECK(S, ", ");", + "S", "Fail", + "DecodeStatus S = Success;\n(void)S;").run(OS); + return; + } + FixedLenDecoderEmitter(Records).run(OS); } |