[all-commits] [llvm/llvm-project] a04f61: [LV] Check for innermost loop instead of EnableVPl...

Florian Hahn via All-commits all-commits at lists.llvm.org
Thu Jan 25 04:50:43 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a04f6152914ea21f3068aaba9d8fc21d2e703d3e
      https://github.com/llvm/llvm-project/commit/a04f6152914ea21f3068aaba9d8fc21d2e703d3e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-01-25 (Thu, 25 Jan 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/vplan-native-inner-loop-only.ll

  Log Message:
  -----------
  [LV] Check for innermost loop instead of EnableVPlanNativePath in CM.

Replace EnableVPlanNativePath checks in the cost-model by assertions
that the code is only called for innermost loops. This ensures that the
cost model isn't used in the VPlanNativePath, which is only used for
outer-loop vectorization.

Even with EnableVPlanNativePath, inner loops are processed by the
inner loop vectorization path, not the native path, so checking for
EnableVPlanNativePath may impact decisions for inner loops and can
cause crashes, like in the attached test case.




More information about the All-commits mailing list