[PATCH] D100094: [ARM] This patch adds some simplifications to ARMBlockPlacement Pass.
Malhar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 8 02:58:07 PDT 2021
malharJ created this revision.
malharJ added reviewers: dmgreen, SjoerdMeijer.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
malharJ requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
It simplifies the logic by moving the preHeader above the target/loopExit,
instead of the other way round.
Since the loopExit is no longer being moved, directions of
any branches within/to it are unaffected.
While the Preheader is being moved,
- The only directional branch within the Preheader is the backwards WLS (which gets corrected by the move).
- Directional branches like LE to the Preheader cannot regress (go backward to forward) since the PreHeader is being moved backwards.
- The only remaining consideration (for now) is that a forward WLS to the Preheader should not become backwards. This is taken care of by the patch.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D100094
Files:
llvm/lib/Target/ARM/ARMBlockPlacement.cpp
llvm/test/CodeGen/Thumb2/block-placement.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100094.336046.patch
Type: text/x-patch
Size: 20960 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210408/42e3a283/attachment.bin>
More information about the llvm-commits
mailing list