[PATCH] D82210: [SVE] Remove calls to VectorType::getNumElements from CodeGen

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 2 08:40:54 PDT 2020


sdesmalen added a comment.

In D82210#2125933 <https://reviews.llvm.org/D82210#2125933>, @ctetreau wrote:

> @sdesmalen Would you like me to hold off on this one until after the branch?


Thanks for checking @ctetreau.  I actually think most of the changes are fine to go in now, with the exception of:

- the cast to FixedVectorType in llvm/lib/CodeGen/ValueTypes.cpp.
- the changes to InterleavedAccessPass, because this pass is not yet guarded by bailing out early.

The other changes are fine because:

- The ACLE uses custom target-specific intrinsics instead of llvm.masked.load/store/gather/scatter intrinsics.
- The ACLE uses custom target-specific intrinsics instead of the llvm.experimental.reduction intrinsics.
- GlobalISel already falls back to DAGISel if the function uses scalable vectors (D81557 <https://reviews.llvm.org/D81557> and D82524 <https://reviews.llvm.org/D82524>)
- The `InterleavedLoadCombinePass` was guarded in D79700 <https://reviews.llvm.org/D79700> to bail out early for scalable vectors.
- `shouldConvertSplatType` returns `nullptr` for AArch64 so the change in `CodeGenPrepare::optimizeShuffleVectorInst` is never hit.

If you can add a check to bail out early for the `InterleavedAccessPass` for scalable vectors and move the change to `EVT::getExtendedVectorNumElements` into a separate patch, then I'm happy with most of this to go in now.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D82210





More information about the llvm-commits mailing list