[llvm] r236140 - ARM: mark branch-like instructions with correct flags.

Tim Northover tnorthover at apple.com
Wed Apr 29 12:16:38 PDT 2015


Author: tnorthover
Date: Wed Apr 29 14:16:38 2015
New Revision: 236140

URL: http://llvm.org/viewvc/llvm-project?rev=236140&view=rev
Log:
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

Modified:
    llvm/trunk/lib/Target/ARM/ARMInstrInfo.td

Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?rev=236140&r1=236139&r2=236140&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrInfo.td Wed Apr 29 14:16:38 2015
@@ -2256,6 +2256,7 @@ def BLXi : AXI<(outs), (ins blx_target:$
   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:$
   let Inst{19-8} = 0xfff;
   let Inst{7-4} = 0b0010;
   let Inst{3-0} = func;
+  let isBranch = 1;
 }
 
 // Tail calls.





More information about the llvm-commits mailing list