From 304d8fb5ca73a8b285ac5d441c79e9c397776833 Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Wed, 29 Apr 2015 19:16:38 +0000 Subject: [PATCH] ARM: mark branch-like instructions with correct flags. There's probably no way to test BXJ, but if the compiler ever did emit it during CodeGen it would have to be a block terminator so "isBranch" is appropriate. BLX is more tricky. Clearly a call, but it affects surprisingly little. rdar://18719544 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236140 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrInfo.td | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index bda6c944ce3..9fb0d72f098 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -2256,6 +2256,7 @@ def BLXi : AXI<(outs), (ins blx_target:$target), BrMiscFrm, NoItinerary, bits<25> target; let Inst{23-0} = target{24-1}; let Inst{24} = target{0}; + let isCall = 1; } // Branch and Exchange Jazelle @@ -2266,6 +2267,7 @@ def BXJ : ABI<0b0001, (outs), (ins GPR:$func), NoItinerary, "bxj", "\t$func", let Inst{19-8} = 0xfff; let Inst{7-4} = 0b0010; let Inst{3-0} = func; + let isBranch = 1; } // Tail calls. -- 2.11.0