================
@@ -5026,10 +5026,23 @@ calculateRegisterUsage(VPlan &Plan, 
ArrayRef<ElementCount> VFs,
             // even in the scalar case.
             RegUsage[ClassID] += 1;
           } else {
+            // The output from scaled phis and scaled reductions actually have
+            // fewer lanes than the VF.
+            auto VF = VFs[J];
+            if (auto *ReductionR = dyn_cast<VPReductionPHIRecipe>(R))
----------------
NickGuy-Arm wrote:

[Idle thought, feel free to ignore] 
I wonder if there's precedent to add a `getVFScaleFactor` or equivalent to the 
base recipe class (or one of the other subclasses), and allow any recipe to 
override it instead of explicitly checking for every type that could scale the 
VF. 
Likely not yet, and almost certainly not in this patch, but maybe something to 
consider in the future?

https://github.com/llvm/llvm-project/pull/133090
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to