[all-commits] [llvm/llvm-project] 42cd38: [Polly] Remove -polly-vectorizer=polly.

Michael Kruse via All-commits all-commits at lists.llvm.org
Wed Mar 8 10:54:53 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 42cd38c01e5b76357e77b8c0f4f32d77a97d153f
      https://github.com/llvm/llvm-project/commit/42cd38c01e5b76357e77b8c0f4f32d77a97d153f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2023-03-08 (Wed, 08 Mar 2023)

  Changed paths:
    M polly/docs/ReleaseNotes.rst
    M polly/include/polly/CodeGen/BlockGenerators.h
    M polly/include/polly/CodeGen/CodeGeneration.h
    M polly/include/polly/CodeGen/IslNodeBuilder.h
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M polly/lib/Support/RegisterPasses.cpp
    R polly/test/CodeGen/20130211-getNumberOfIterations.ll
    M polly/test/CodeGen/MemAccess/simple_analyze.ll
    R polly/test/CodeGen/MemAccess/simple_stride_test.ll
    M polly/test/CodeGen/OpenMP/scev-rewriting.ll
    R polly/test/CodeGen/getNumberOfIterations.ll
    R polly/test/CodeGen/if-conditions-in-vector-code.ll
    R polly/test/CodeGen/invariant_load_hoist_alignment.ll
    R polly/test/CodeGen/partial_write_mapped_vector.ll
    R polly/test/CodeGen/partial_write_mapped_vector___%for---%return.jscop
    R polly/test/CodeGen/partial_write_mapped_vector___%for---%return.jscop.transformed
    R polly/test/CodeGen/simple_vec_assign_scalar.ll
    R polly/test/CodeGen/simple_vec_assign_scalar_2.ll
    R polly/test/CodeGen/simple_vec_call.ll
    R polly/test/CodeGen/simple_vec_call_2.ll
    R polly/test/CodeGen/simple_vec_cast.ll
    R polly/test/CodeGen/simple_vec_const.ll
    R polly/test/CodeGen/simple_vec_large_width.ll
    R polly/test/CodeGen/simple_vec_ptr_ptr_ty.ll
    R polly/test/CodeGen/simple_vec_stride_negative_one.ll
    R polly/test/CodeGen/simple_vec_stride_one.ll
    R polly/test/CodeGen/simple_vec_stride_x.ll
    R polly/test/CodeGen/simple_vec_strides_multidim.ll
    R polly/test/CodeGen/simple_vec_two_stmts.ll
    R polly/test/CodeGen/stride_detection.ll
    R polly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll
    M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
    M polly/test/ScheduleOptimizer/prevectorization.ll
    M polly/test/ScheduleOptimizer/rectangular-tiling.ll
    R polly/test/ScheduleOptimizer/vec-addr-space.ll

  Log Message:
  -----------
  [Polly] Remove -polly-vectorizer=polly.

Polly's internal vectorizer is not well maintained and is known to not work in some cases such as region ScopStmts. Unlike LLVM's LoopVectorize pass it also does not have a target-dependent cost heuristics, and we recommend using LoopVectorize instead of -polly-vectorizer=polly.

In the future we hope that Polly can collaborate better with LoopVectorize, like Polly marking a loop is safe to vectorize with a specific simd width, instead of replicating its functionality.

Reviewed By: grosser

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




More information about the All-commits mailing list