diff options
author | Owen Anderson <resistor@mac.com> | 2011-09-08 22:48:37 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2011-09-08 22:48:37 +0000 |
commit | 33d39536e6a5a61eb651beab997819566e031273 (patch) | |
tree | ca3d4241b91cb73a8400ccfda7d5ad5d189b85fa /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | |
parent | 2fefa427d5af32ecb3188a77833a1ac70afc3a56 (diff) | |
download | bcm5719-llvm-33d39536e6a5a61eb651beab997819566e031273.tar.gz bcm5719-llvm-33d39536e6a5a61eb651beab997819566e031273.zip |
All conditional branches are disallowed in IT blocks, not just CBZ/CBNZ.
llvm-svn: 139329
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp index d361a6006f3..2791350b733 100644 --- a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/llvm/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; |