[llvm] [VPlan] Only use selectVectorizationFactor for cross-check (NFCI). (PR #103033)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 21 01:07:10 PDT 2024
================
@@ -7300,7 +7283,20 @@ ElementCount LoopVectorizationPlanner::computeBestVF() {
ProfitableVFs.push_back(CurrentFactor);
}
}
- return BestFactor.Width;
+
+#ifndef NDEBUG
+ // Select the optimal vectorization factor according to the legacy cost-model.
+ // This is now only used to verify the decisions by the new VPlan-based
+ // cost-model and will be retired once the VPlan-based cost-model is
+ // stabilized.
+ VectorizationFactor LegacyVF = selectVectorizationFactor();
+ assert(BestFactor.Width == LegacyVF.Width &&
+ " VPlan cost model and legacy cost model disagreed");
+ assert((BestFactor.Width.isScalar() || BestFactor.ScalarCost > 0) &&
+ "when vectorizing, the scalar cost must be non-zero.");
----------------
fhahn wrote:
Updated thanks!
Not sure about adding ::isComputed, in general InstructionCost could be computed to be 0 I think
https://github.com/llvm/llvm-project/pull/103033
More information about the llvm-commits
mailing list