[PATCH] D83408: [SVE] Disable some BUILD_VECTOR related code generator features.

Paul Walker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 8 14:56:20 PDT 2020


paulwalker-arm marked an inline comment as done.
paulwalker-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:3569
+// them to expand BUILD_VECTOR.
+bool AArch64TargetLowering::shouldExpandBuildVectorWithShuffles(
+    EVT VT, unsigned DefinedValues) const {
----------------
efriedma wrote:
> paulwalker-arm wrote:
> > efriedma wrote:
> > > Would it be enough to just fix isShuffleMaskLegal, instead of overriding this?
> > We expand VECTOR_SHUFFLE (using BUILD_VECTOR) so at this stage I think it's better to just prevent extra VECTOR_SHUFFLE instances/code paths as early as possible.
> I'm not sure what "early" means in this context; the LegalizeDAG code that checks shouldExpandBuildVectorWithShuffles also checks isShuffleMaskLegal.
I was worried about the else clause but see that's unlikely to affect vectors >128bit.  Updating isShuffleMaskLegal looks to work and check-llvm didn't highlight any unwanted side effects so this works for me.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83408





More information about the llvm-commits mailing list