forked from OSchip/llvm-project
4728184342
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 |
||
---|---|---|
.. | ||
Canonicalization.cpp | ||
CodePreparation.cpp | ||
DeLICM.cpp | ||
DeadCodeElimination.cpp | ||
FlattenAlgo.cpp | ||
FlattenSchedule.cpp | ||
ForwardOpTree.cpp | ||
MaximalStaticExpansion.cpp | ||
RewriteByReferenceParameters.cpp | ||
ScheduleOptimizer.cpp | ||
ScopInliner.cpp | ||
Simplify.cpp | ||
ZoneAlgo.cpp |