[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