Michael Kruse via Phabricator
unread,Jan 26, 2023, 11:22:03 AMJan 26Sign in to reply to author
Sign in to forward
Sign in to report message as abuse
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to phabr...@grosser.es, siddu...@gmail.com, jdoe...@anl.gov, stefom...@gmail.com, pc....@linux.alibaba.com, llvm-c...@lists.llvm.org, poll...@googlegroups.com, wxc...@gmail.com, bhuvanend...@amd.com, coop...@linux.alibaba.com, 11358...@qq.com, yanli...@intel.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, theo...@inf.ethz.ch, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, dorit....@intel.com, an...@azulsystems.com, f...@fhahn.net, david...@arm.com, mo...@cs.uni-saarland.de, ruilin...@amd.com, alexba...@gmail.com
Meinersbur created this revision.
Meinersbur added a reviewer: grosser.
Meinersbur added a project: Polly.
Herald added a reviewer: bollu.
Herald added a project: All.
Meinersbur requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: llvm-commits, pcwang-thead, sstefan1.
Herald added a project: LLVM.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D142640
Files:
polly/include/polly/CodeGen/BlockGenerators.h
polly/include/polly/CodeGen/CodeGeneration.h
polly/include/polly/CodeGen/IslNodeBuilder.h
polly/lib/CodeGen/BlockGenerators.cpp
polly/lib/CodeGen/IslNodeBuilder.cpp
polly/lib/Support/RegisterPasses.cpp
polly/test/CodeGen/20130211-getNumberOfIterations.ll
polly/test/CodeGen/MemAccess/simple_analyze.ll
polly/test/CodeGen/MemAccess/simple_stride_test.ll
polly/test/CodeGen/OpenMP/scev-rewriting.ll
polly/test/CodeGen/getNumberOfIterations.ll
polly/test/CodeGen/if-conditions-in-vector-code.ll
polly/test/CodeGen/invariant_load_hoist_alignment.ll
polly/test/CodeGen/partial_write_mapped_vector.ll
polly/test/CodeGen/partial_write_mapped_vector___%for---%return.jscop
polly/test/CodeGen/partial_write_mapped_vector___%for---%return.jscop.transformed
polly/test/CodeGen/simple_vec_assign_scalar.ll
polly/test/CodeGen/simple_vec_assign_scalar_2.ll
polly/test/CodeGen/simple_vec_call.ll
polly/test/CodeGen/simple_vec_call_2.ll
polly/test/CodeGen/simple_vec_cast.ll
polly/test/CodeGen/simple_vec_const.ll
polly/test/CodeGen/simple_vec_large_width.ll
polly/test/CodeGen/simple_vec_ptr_ptr_ty.ll
polly/test/CodeGen/simple_vec_stride_negative_one.ll
polly/test/CodeGen/simple_vec_stride_one.ll
polly/test/CodeGen/simple_vec_stride_x.ll
polly/test/CodeGen/simple_vec_strides_multidim.ll
polly/test/CodeGen/simple_vec_two_stmts.ll
polly/test/CodeGen/stride_detection.ll
polly/test/ScheduleOptimizer/2012-04-16-Trivially-vectorizable-loops.ll
polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
polly/test/ScheduleOptimizer/prevectorization.ll
polly/test/ScheduleOptimizer/rectangular-tiling.ll
polly/test/ScheduleOptimizer/vec-addr-space.ll