[PATCH] D67404: [ARM] LE support in ConstantIslands

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 10 09:08:11 PDT 2019


samparker created this revision.
samparker added reviewers: dmgreen, t.p.northover, SjoerdMeijer, olista01.
Herald added a subscriber: kristof.beyls.

The low-overhead branch extension provides a loop-end 'LE' instruction that performs no decrement nor compare, it just jumps backwards. This patch modifies the constant islands pass to try to insert LE instructions in place of a Thumb2 conditional branch, instead of shrinking it. This only happens if a cmp can be converted to a cbn/z and used to exit the loop.


https://reviews.llvm.org/D67404

Files:
  lib/Target/ARM/ARMConstantIslandPass.cpp
  test/CodeGen/ARM/O3-pipeline.ll
  test/CodeGen/Thumb2/LowOverheadLoops/no-dec-cbnz.mir
  test/CodeGen/Thumb2/LowOverheadLoops/no-dec-reorder.mir
  test/CodeGen/Thumb2/LowOverheadLoops/no-dec.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67404.219555.patch
Type: text/x-patch
Size: 34744 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190910/9ff88fab/attachment.bin>


More information about the llvm-commits mailing list