[llvm] [VPlan] Add transformation to narrow interleave groups. (PR #106441)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 8 17:01:28 PST 2025


================
@@ -1994,3 +1997,124 @@ void VPlanTransforms::handleUncountableEarlyExit(
   Builder.createNaryOp(VPInstruction::BranchOnCond, AnyExitTaken);
   LatchExitingBranch->eraseFromParent();
 }
+
+static bool supportedLoad(VPWidenRecipe *R0, VPValue *V, unsigned Idx) {
----------------
ayalz wrote:

```suggestion
// Find a more descripting name for function, "supportedLoad" is too general.
// Explain what this function does. Trying to help:
// It checks if an operand of an interleaved store member is either a wide load or a member
// of an interleaved load. In the former case, same wide load must also feed the first
// interleaved store member (i.e., is "index independent", or "uniform"(?)). In the latter case, the index of
// the interleave load member must match that of the interleave store member it feeds.
static bool supportedLoad(VPWidenRecipe *StoreMember0, VPValue *OperandOfStoreMemberIdx, unsigned Idx) {
```


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


More information about the llvm-commits mailing list