llvm-project/polly/lib/Transform
Michael Kruse 4728184342 [ZoneAlgo] More fine-grained bail-out.
ZoneAlgo used to bail out for the complete SCoP if it encountered
something violating its assumption. This meant the neither OpTree can
forward any load nor DeLICM do anything in such cases, even if their
transformations are unrelated to the violations.

This patch adds a list of compatible elements (currently with the
granularity of entire arrays) that can be used for analysis. OpTree
and DeLICM can then check whether their transformations only concern
compatible elements, and skip non-compatible ones.

This will be useful for e.g. Polybench's benchmarks covariance,
correlation, bicg, doitgen, durbin, gramschmidt, adi that have
assumption violation, but which are not necessarily relevant
for all transformations.

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

llvm-svn: 311929
2017-08-28 20:39:07 +00:00
..
Canonicalization.cpp [Polly] Run early cse + memory SSA to remove redundancies in the input code 2017-08-19 08:44:46 +00:00
CodePreparation.cpp [Polly][PM][WIP] Polly pass registration 2017-08-02 15:52:25 +00:00
DeLICM.cpp [ZoneAlgo] More fine-grained bail-out. 2017-08-28 20:39:07 +00:00
DeadCodeElimination.cpp Move include/isl-noexceptions.h to include/isl/isl-noexceptions.h 2017-08-22 22:04:22 +00:00
FlattenAlgo.cpp [isl++] Rebase isl C++ bindings on top of 29aee98ce 2017-05-21 15:59:15 +00:00
FlattenSchedule.cpp [ScopInfo] Move Scop::getPwAffOnly to isl++ [NFC] 2017-08-06 21:42:38 +00:00
ForwardOpTree.cpp [ZoneAlgo] More fine-grained bail-out. 2017-08-28 20:39:07 +00:00
MaximalStaticExpansion.cpp [Polly] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-08-25 21:35:27 +00:00
RewriteByReferenceParameters.cpp Add rewrite by-reference parameter pass 2017-08-17 05:25:08 +00:00
ScheduleOptimizer.cpp [PM] Properly require and preserve OptimizationRemarkEmitter. NFCI. 2017-08-28 14:07:33 +00:00
ScopInliner.cpp [ScopInliner] Fix hidden overload warning. NFC. 2017-08-23 13:07:43 +00:00
Simplify.cpp Add more statistics. 2017-08-23 13:50:30 +00:00
ZoneAlgo.cpp [ZoneAlgo] More fine-grained bail-out. 2017-08-28 20:39:07 +00:00