[PATCH] D91655: [AArch64][GlobalISel] Fix crash during legalization of a vector G_SELECT with scalar mask.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 17 12:22:16 PST 2020


aemerson added inline comments.


================
Comment at: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:6226
+      MaskElt = MIRBuilder.buildSExt(DstTy.getElementType(), MaskElt).getReg(0);
+    // Generate a vector splat idiom to be pattern matched later.
+    auto UndefVec = MIRBuilder.buildUndef(DstTy);
----------------
arsenm wrote:
> Maybe should have a buildSplat helper too
We already have a `MachineIRBuilder::buildSplatVector()` but that just currently emits a G_BUILD_VECTOR with identical elements. Should we change that to settle on the insert_vector_elt & shufflevector idiom as the default representation?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91655



More information about the llvm-commits mailing list