summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMCodeEmitter.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2010-12-09 00:39:08 +0000
committerBill Wendling <isanbard@gmail.com>2010-12-09 00:39:08 +0000
commit09aa3f0ef35d9241c92439d74b8d5e9a81d814c2 (patch)
treeb70785fac90f90c5eebe007ddb6c780adce8abbe /lib/Target/ARM/ARMCodeEmitter.cpp
parent8bce7cc3bfa7d5b47ca0b05f7c663068d1da592a (diff)
downloadllvm-09aa3f0ef35d9241c92439d74b8d5e9a81d814c2.tar.gz
llvm-09aa3f0ef35d9241c92439d74b8d5e9a81d814c2.tar.bz2
llvm-09aa3f0ef35d9241c92439d74b8d5e9a81d814c2.tar.xz
The BLX instruction is encoded differently than the BL, because why not? In
particular, the immediate has 20-bits of value instead of 21. And bit 0 is '0' always. Going through the BL fixup encoding was trashing the "bit 0 is '0'" invariant. Attempt to get the encoding at slightly more correct with this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121336 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMCodeEmitter.cpp')
-rw-r--r--lib/Target/ARM/ARMCodeEmitter.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMCodeEmitter.cpp b/lib/Target/ARM/ARMCodeEmitter.cpp
index da806f77c5..3892948d62 100644
--- a/lib/Target/ARM/ARMCodeEmitter.cpp
+++ b/lib/Target/ARM/ARMCodeEmitter.cpp
@@ -173,6 +173,8 @@ namespace {
const { return 0; }
unsigned getThumbBLTargetOpValue(const MachineInstr &MI, unsigned Op)
const { return 0; }
+ unsigned getThumbBLXTargetOpValue(const MachineInstr &MI, unsigned Op)
+ const { return 0; }
unsigned getThumbBRTargetOpValue(const MachineInstr &MI, unsigned Op)
const { return 0; }
unsigned getBranchTargetOpValue(const MachineInstr &MI, unsigned Op)