The patch makes two updates to the arm-block-placement pass:
- Handle arbitrarily nested loops
- Extends the search (for t2WhileLoopStartLR) to the predecessor of the preHeader.
Paths
| Differential D99649
[ARM] Updates to arm-block-placement pass ClosedPublic Authored by malharJ on Mar 31 2021, 4:22 AM.
Details Summary The patch makes two updates to the arm-block-placement pass:
Diff Detail
Event TimelineHerald added subscribers: danielkiss, hiraditya, kristof.beyls. · View Herald TranscriptMar 31 2021, 4:22 AM malharJ retitled this revision from [ARM] Updates the arm-block-placement pass to handle arbitrarily nested loops and also extends the search for t2WhileLoopStartLR to the predecessor of the preHeader. to [ARM] Updates to arm-block-placement pass.Mar 31 2021, 4:28 AM Comment Actions Thanks for the patch. Looks like a nice improvement.
malharJ marked 6 inline comments as done. Comment ActionsChanged some functions to return boolean instead of using
malharJ marked 2 inline comments as done. Comment Actionsaddressed comments,
malharJ added a child revision: D99723: [ARM] Transforming memcpy to Tail predicated Loop.Apr 1 2021, 6:02 AM Comment Actions
This seems to have grown from a patch that already fixing 2 things, to a patch that does many more. Can we try and keep it simple, fixing only the problems it was fixing and separate any other issues to another patch?
malharJ marked an inline comment as done. Comment Actionsaddressed comments, malharJ added inline comments. malharJ marked 2 inline comments as not done. Comment Actionsrelaxed requirement for predecessor to have single successor when searching for WLS Comment Actions Thanks. LGTM
This revision is now accepted and ready to land.Apr 7 2021, 3:22 AM Closed by commit rG58f3201a20f7: [ARM] Updates to arm-block-placement pass (authored by malharJ, committed by dmgreen). · Explain WhyApr 12 2021, 6:46 AM This revision was automatically updated to reflect the committed changes. malharJ removed a child revision: D99723: [ARM] Transforming memcpy to Tail predicated Loop.Apr 17 2021, 3:50 PM
Revision Contents
Diff 336823 llvm/lib/Target/ARM/ARMBlockPlacement.cpp
llvm/test/CodeGen/Thumb2/block-placement.mir
llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
|
Consider renaming this helper, it currently reads like it would be returning a WLS instruction.