[PATCH] D31033: [Polly] Add -polly-prune-unprofitable pass.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 16 07:52:30 PDT 2017


Meinersbur created this revision.
Meinersbur added a project: Polly.
Herald added a subscriber: mgorny.

ScopInfo's normal profitability heuristic considers SCoPs where all statements have scalar writes as not profitably optimizable and invalidate the SCoP in that case. However, -polly-delicm and -polly-simplify may be able to remove some of the scalar writes such that the flag -polly-unprofitable-scalar-accs=false allows disabling that part of the heuristic.

In cases where DeLICM (or other passes after ScopInfo) are not successful in removing scalar writes, the SCoP is still not profitably optimizable. The schedule optimizer would again try computing another schedule, resulting in slower compilation.

The -polly-prune-unprofitable pass applies the profitability heuristic again before the schedule optimizer Polly can still bail out even with -polly-unprofitable-scalar-accs=false.


https://reviews.llvm.org/D31033

Files:
  include/polly/LinkAllPasses.h
  include/polly/PruneUnprofitable.h
  include/polly/ScopInfo.h
  lib/Analysis/PruneUnprofitable.cpp
  lib/Analysis/ScopInfo.cpp
  lib/CMakeLists.txt
  lib/Support/RegisterPasses.cpp
  test/PruneUnprofitable/prune_only_scalardeps.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31033.92002.patch
Type: text/x-patch
Size: 9609 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170316/d3523152/attachment-0001.bin>


More information about the llvm-commits mailing list