[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