[PATCH] D91663: [ARM] Disable WLSTP loops

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 17 15:05:56 PST 2020


dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, samtebbs, samparker, efriedma, simon_tatham.
Herald added subscribers: danielkiss, javed.absar, hiraditya, kristof.beyls.
Herald added a project: LLVM.
dmgreen requested review of this revision.

This checks to see if the loop will likely become a tail predicated loop and disables wls loop generation if so, as the likelihood for reverting is currently too high. These should be fairly rare situations anyway due to the way iterations and element counts are used during lowering. Just not trying can alter how SCEV's are materialized however, leading to different codegen.

It also adds a option to disable all while low overhead loops, for debugging.


https://reviews.llvm.org/D91663

Files:
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/while-loops.ll
  llvm/test/CodeGen/Thumb2/mve-fma-loops.ll
  llvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91663.305909.patch
Type: text/x-patch
Size: 30026 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201117/0ebe99f4/attachment.bin>


More information about the llvm-commits mailing list