[PATCH] D79100: [LV][TTI] Emit new IR intrinsic llvm.get.active.mask for tail-folded loops

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 25 00:29:39 PDT 2020


SjoerdMeijer updated this revision to Diff 265969.
SjoerdMeijer added a comment.

Uploading a new revision to see if we can reach a conclusion on this.

The intrinsic now takes two scalar arguments, the first element of the VIV, and the scalar BTC, hopefully in the way you head in mind.

On the dev list, Ayal pointed out an alternative to rediscover the BTC in the backend (still need spend time to confirm we then don't miss anything). This intrinsic still would have my preference because of its convenience, and as it a general concept it seems to support different uses too (vp intrinsicss, and provides a target independent way of describing the active mask).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79100/new/

https://reviews.llvm.org/D79100

Files:
  llvm/docs/LangRef.rst
  llvm/include/llvm/Analysis/TargetTransformInfo.h
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  llvm/include/llvm/CodeGen/BasicTTIImpl.h
  llvm/include/llvm/IR/Intrinsics.td
  llvm/lib/Analysis/TargetTransformInfo.cpp
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/lib/Target/ARM/ARMTargetTransformInfo.h
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/lib/Transforms/Vectorize/VPlan.cpp
  llvm/lib/Transforms/Vectorize/VPlan.h
  llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
  llvm/test/Transforms/LoopVectorize/ARM/tail-loop-folding.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79100.265969.patch
Type: text/x-patch
Size: 16608 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200525/2376bc1a/attachment-0001.bin>


More information about the llvm-commits mailing list