aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2011-04-11 23:33:30 +0000
committerJohnny Chen <johnny.chen@apple.com>2011-04-11 23:33:30 +0000
commitde16508955698a0f8890e0d54fee24efc9277ecd (patch)
treef1a8a2eda462c81ec7a59fe582a91936c9eae68e /utils
parentc8fbc34869fc1737adea00f775de5b8dd829f7a1 (diff)
downloadexternal_llvm-de16508955698a0f8890e0d54fee24efc9277ecd.zip
external_llvm-de16508955698a0f8890e0d54fee24efc9277ecd.tar.gz
external_llvm-de16508955698a0f8890e0d54fee24efc9277ecd.tar.bz2
Thumb disassembler was erroneously rejecting "blx sp" instruction.
rdar://problem/9267838 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129320 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/TableGen/ARMDecoderEmitter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/utils/TableGen/ARMDecoderEmitter.cpp b/utils/TableGen/ARMDecoderEmitter.cpp
index e48ac1e..07ff213 100644
--- a/utils/TableGen/ARMDecoderEmitter.cpp
+++ b/utils/TableGen/ARMDecoderEmitter.cpp
@@ -1624,6 +1624,10 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI,
if (Name == "tBL" || Name == "tBLXi" || Name == "tBLXr")
return false;
+ // A8.6.25 BX. Use the generic tBX_Rm, ignore tBX_RET and tBX_RET_vararg.
+ if (Name == "tBX_RET" || Name == "tBX_RET_vararg")
+ return false;
+
// Ignore the TPsoft (TLS) instructions, which conflict with tBLr9.
if (Name == "tTPsoft" || Name == "t2TPsoft")
return false;