[all-commits] [llvm/llvm-project] 2332c5: [LV] Remove legacy selectVectorizationFactor and a...

Florian Hahn via All-commits all-commits at lists.llvm.org
Tue Apr 14 01:33:16 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2332c5d1e1fc9ee98a70ac9df9e34a4f206ac29d
      https://github.com/llvm/llvm-project/commit/2332c5d1e1fc9ee98a70ac9df9e34a4f206ac29d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2026-04-14 (Tue, 14 Apr 2026)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/test/Transforms/LoopVectorize/conditional-assignment.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/loopvectorize-costmodel.test

  Log Message:
  -----------
  [LV] Remove legacy selectVectorizationFactor and assert (NFCI) (#190838)

Almost all recipes now go through ::computeCost to properly compute
their costs using the VPlan-based cost model. There are currently no
known cases where the VPlan-based cost model returns an incorrect cost
vs the legacy cost model. I check the remaining open issues with reports
of the assertion triggering and in all cases the VPlan-based cost model
is more accurate, which is causing the divergence.

There are still some fall-back paths, mostly via precomputeCosts, but
those cannot be easily removed without triggering the assert, as the
VPlan-based cost model is more accurate for those cases. An example of
this is https://github.com/llvm/llvm-project/pull/187056.

Fixes https://github.com/llvm/llvm-project/issues/38575. 
Fixes https://github.com/llvm/llvm-project/issues/149651. 
Fixes https://github.com/llvm/llvm-project/issues/182646. 
Fixes https://github.com/llvm/llvm-project/issues/183739. 
Fixes https://github.com/llvm/llvm-project/issues/187523.

PR: https://github.com/llvm/llvm-project/pull/190838



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list