[llvm] [LoopVectorizer] Prune VFs based on plan register pressure (PR #132190)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 7 06:14:51 PDT 2025


================
@@ -7759,7 +7535,10 @@ VectorizationFactor LoopVectorizationPlanner::computeBestVF() {
   }
 
   for (auto &P : VPlans) {
-    for (ElementCount VF : P->vectorFactors()) {
+    SmallVector<ElementCount, 1> VFs(P->vectorFactors());
+    auto RUs = ::calculateRegisterUsage(*P, VFs, TTI);
+    for (unsigned I = 0; I < VFs.size(); I++) {
+      auto VF = VFs[I];
----------------
lukel97 wrote:

Nit, can you use a zip here?
```suggestion
    for (auto [VF, RU] : zip(VFs, RUs)) {
```

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


More information about the llvm-commits mailing list