mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 19:12:56 +02:00
tBfar is bl, which clobbers LR.
llvm-svn: 78370
This commit is contained in:
parent
1738d18060
commit
5af3c8154b
@ -1221,7 +1221,8 @@ bool
|
||||
ARMConstantIslands::FixUpUnconditionalBr(MachineFunction &MF, ImmBranch &Br) {
|
||||
MachineInstr *MI = Br.MI;
|
||||
MachineBasicBlock *MBB = MI->getParent();
|
||||
assert(isThumb && !isThumb2 && "Expected a Thumb1 function!");
|
||||
if (!isThumb1)
|
||||
llvm_unreachable("FixUpUnconditionalBr is Thumb1 only!");
|
||||
|
||||
// Use BL to implement far jump.
|
||||
Br.MaxDisp = (1 << 21) * 2;
|
||||
|
@ -253,6 +253,7 @@ let isBranch = 1, isTerminator = 1 in {
|
||||
"b $target", [(br bb:$target)]>;
|
||||
|
||||
// Far jump
|
||||
let Defs = [LR] in
|
||||
def tBfar : TIx2<(outs), (ins brtarget:$target), IIC_Br,
|
||||
"bl $target\t@ far jump",[]>;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user