OSDN Git Service
(root)
/
android-x86
/
external-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f6310ab
)
Use BL to implement Thumb far jumps.
author
Evan Cheng
<evan.cheng@apple.com>
Tue, 30 Jan 2007 01:13:37 +0000
(
01:13
+0000)
committer
Evan Cheng
<evan.cheng@apple.com>
Tue, 30 Jan 2007 01:13:37 +0000
(
01:13
+0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33649
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/Target/ARM/ARMInstrThumb.td
patch
|
blob
|
history
diff --git
a/lib/Target/ARM/ARMInstrThumb.td
b/lib/Target/ARM/ARMInstrThumb.td
index
c494be4
..
b99569d
100644
(file)
--- a/
lib/Target/ARM/ARMInstrThumb.td
+++ b/
lib/Target/ARM/ARMInstrThumb.td
@@
-195,6
+195,9
@@
let isCall = 1, noResults = 1,
let isBranch = 1, isTerminator = 1, isBarrier = 1 in {
def tB : TI<(ops brtarget:$dst), "b $dst", [(br bb:$dst)]>;
+ // Far jump
+ def tBfar : TIx2<(ops brtarget:$dst), "bl $dst\t@ far jump", []>;
+
def tBR_JTr : TJTI<(ops GPR:$dst, jtblock_operand:$jt, i32imm:$id),
"cpy pc, $dst \n\t.align\t2\n$jt",
[(ARMbrjt GPR:$dst, tjumptable:$jt, imm:$id)]>;