[PATCH] D88086: [ARM][MVE] tail-predication: checks for the elementcount, cont'd

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 03:56:15 PDT 2020


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

In D86074 <https://reviews.llvm.org/D86074>, we discussed sanity checks for intrinsic get.active.lane.mask's second argument, the element count. @efriedma summarised our steps as:

> What you're doing here has two essential steps:
>
> - Convert "llvm.get.active.lane.mask(X, Y)" to "llvm.arm.mve.vctp(Y - X)".
> - Convert "Y - X" to a simpler induction variable.

and also that:

> The way the code is currently written, I think you're trying to prove more than you actually need to. If the induction variable has the "wrong" base or increment, ARMLowOverheadLoops will ultimately fail to tail-predicate, but I'm not sure that's actually a problem."

That's why I propose to just skip that check here, which is why I have deleted it. I have kept the check when the values are constants, because those checks

  are straightforward.


https://reviews.llvm.org/D88086

Files:
  llvm/lib/Target/ARM/MVETailPredication.cpp
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-basic.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88086.293408.patch
Type: text/x-patch
Size: 8125 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200922/103e7405/attachment.bin>


More information about the llvm-commits mailing list