[PATCH] D102747: [ARM] Allow findLoopPreheader to return headers with multiple loop successors

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 19 00:38:35 PDT 2021


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

The findLoopPreheader function will currently not find a preheader if it branches to multiple different loop headers. This patch adds an option to relax that, allowing ARMLowOverheadLoops to process more loops successfully. This helps with WhileLoopStart setup instructions that can branch/fallthrough to the low overhead loop and to branch to a separate loop from the same preheader (but I don't believe it is possible for both loops to be low overhead loops).


https://reviews.llvm.org/D102747

Files:
  llvm/include/llvm/CodeGen/MachineLoopInfo.h
  llvm/lib/CodeGen/MachineLoopInfo.cpp
  llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
  llvm/test/CodeGen/Thumb2/mve-memtp-loop.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102747.346203.patch
Type: text/x-patch
Size: 5618 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210519/e895c424/attachment.bin>


More information about the llvm-commits mailing list