diff options
author | Johnny Chen <johnny.chen@apple.com> | 2011-04-11 23:33:30 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2011-04-11 23:33:30 +0000 |
commit | de16508955698a0f8890e0d54fee24efc9277ecd (patch) | |
tree | f1a8a2eda462c81ec7a59fe582a91936c9eae68e /utils | |
parent | c8fbc34869fc1737adea00f775de5b8dd829f7a1 (diff) | |
download | external_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.cpp | 4 |
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; |