[all-commits] [llvm/llvm-project] b548f7: [LV] Add test where rt checks make vectorization u...

Florian Hahn via All-commits all-commits at lists.llvm.org
Sat Sep 25 12:29:44 PDT 2021


  Branch: refs/heads/perf/vec-rt-check
  Home:   https://github.com/llvm/llvm-project
  Commit: b548f7ab7af04e3f8cb0afee9f92c9253526aa64
      https://github.com/llvm/llvm-project/commit/b548f7ab7af04e3f8cb0afee9f92c9253526aa64
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-09-25 (Sat, 25 Sep 2021)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/pointer-runtime-checks-unprofitable.ll

  Log Message:
  -----------
  [LV] Add test where rt checks make vectorization unprofitable.


  Commit: 9cd1cd6629a80374618b6a5adff68addfa779bd5
      https://github.com/llvm/llvm-project/commit/9cd1cd6629a80374618b6a5adff68addfa779bd5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-09-25 (Sat, 25 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  Fix

Differential Revision: https://reviews.llvm.org/D75981


  Commit: 549e30c356b635e8d712ad9decbaf54ca520e0e5
      https://github.com/llvm/llvm-project/commit/549e30c356b635e8d712ad9decbaf54ca520e0e5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-09-25 (Sat, 25 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/pointer-runtime-checks-unprofitable.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/runtime-limit.ll

  Log Message:
  -----------
  [LV] Don't vectorize if we can prove RT + vector cost >= scalar cost.

If we can prove that the cost of the runtime checks + the total vector
loop cost exceed the total scalar cost, vectorization with runtime
checks is not profitable.

This is a first step towards guarding against regressions in cases where
we already know runtime checks are unprofitable, as the heuristics get
tweaked.

Differential Revision: https://reviews.llvm.org/D109368

Foo


Compare: https://github.com/llvm/llvm-project/compare/b548f7ab7af0%5E...549e30c356b6


More information about the All-commits mailing list