This is an archive of the discontinued LLVM Phabricator instance.

[Polly] Remove -polly-vectorizer=polly.
ClosedPublic

Authored by Meinersbur on Jan 26 2023, 8:21 AM.

Details

Summary

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.

Diff Detail

Event Timeline

Meinersbur created this revision.Jan 26 2023, 8:21 AM
Herald added a project: Restricted Project. · View Herald Transcript
Meinersbur requested review of this revision.Jan 26 2023, 8:21 AM
grosser accepted this revision.Jan 26 2023, 9:12 AM

This makes a lot of sense to me too.

This revision is now accepted and ready to land.Jan 26 2023, 9:12 AM
nikic added a subscriber: nikic.Mar 2 2023, 12:56 AM

Reverse ping on landing this change. (It removes some -opaque-pointers=0 tests, yay.)

This revision was automatically updated to reflect the committed changes.
polly/test/ScheduleOptimizer/rectangular-tiling.ll