[llvm] [RISCV] Fix matching bug in VLA shuffle lowering (PR #134750)

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 8 07:19:48 PDT 2025


================
@@ -5399,16 +5399,16 @@ static SDValue lowerDisjointIndicesShuffle(ShuffleVectorSDNode *SVN,
 /// Is this mask local (i.e. elements only move within their local span), and
 /// repeating (that is, the same rearrangement is being done within each span)?
 static bool isLocalRepeatingShuffle(ArrayRef<int> Mask, int Span) {
-  SmallVector<int> LowSpan(Span, -1);
+  // Require a prefix from the original mask until the consumer code
+  // is adjusted to rewrite the mask instead of just taking a prefix.
+  SmallVector<int> LowSpan(Mask.take_front(Span));
----------------
preames wrote:

I did this and then realized we could directly reference Mask removing LowSpan entirely.  

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


More information about the llvm-commits mailing list