[llvm] [SLP]Prefer segmented/deinterleaved loads to strided and fix codegen (PR #135058)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 15 07:01:20 PDT 2025


================
@@ -17602,14 +17604,11 @@ Value *BoUpSLP::vectorizeTree(TreeEntry *E) {
             *TLI, [](Value *) { return true; }, IsMasked, InterleaveFactor,
             CompressMask, LoadVecTy);
         assert(IsVectorized && "Expected to be vectorized");
-        Align CommonAlignment;
-        if (IsMasked)
-          CommonAlignment = computeCommonAlignment<LoadInst>(E->Scalars);
-        else
-          CommonAlignment = LI->getAlign();
+        Align CommonAlignment = LI->getAlign();
----------------
alexey-bataev wrote:

That was a mistake. It is mostly required for masked gathers, for consecutive loads it is safe to use the alignment for the beginning element

https://github.com/llvm/llvm-project/pull/135058


More information about the llvm-commits mailing list