From 441462f9328cc7fb86af74c9568a7f70b7bd1fbc Mon Sep 17 00:00:00 2001 From: Owen Anderson Date: Thu, 8 Sep 2011 22:48:37 +0000 Subject: [PATCH] All conditional branches are disallowed in IT blocks, not just CBZ/CBNZ. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139329 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/Disassembler/ARMDisassembler.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp index d361a6006f3..2791350b733 100644 --- a/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp @@ -429,12 +429,13 @@ ThumbDisassembler::AddThumbPredicate(MCInst &MI) const { switch (MI.getOpcode()) { case ARM::tBcc: case ARM::t2Bcc: - return Success; case ARM::tCBZ: case ARM::tCBNZ: - // Some instructions are not allowed in IT blocks. + // Some instructions (mostly conditional branches) are not + // allowed in IT blocks. if (!ITBlock.empty()) return SoftFail; + return Success; break; default: break;