[PATCH] D110567: [ARM] Delay reverting WLS in arm-block-placement

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 27 10:13:29 PDT 2021


dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, samtebbs, momchil.velikov, lenary, simon_tatham.
Herald added subscribers: hiraditya, kristof.beyls.
dmgreen requested review of this revision.
Herald added a project: LLVM.

If we cannot fix up the block placement of WLS branches we revert WLS to DLS instructions. But in doing so can create new blocks, invalidating loop analyses and potentially running into invalid iterators. Prevent that by creating a list of all WLS instructions to revert and reverting them after processing all loops.

The test case it fairly large, but I have not managed to simplify it any further due to the issue coming up from invalid iterators.


https://reviews.llvm.org/D110567

Files:
  llvm/lib/Target/ARM/ARMBlockPlacement.cpp
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/wls-revert-placement.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D110567.375320.patch
Type: text/x-patch
Size: 70419 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210927/510e41bf/attachment.bin>


More information about the llvm-commits mailing list