llvm-project/polly/lib/Analysis
Michael Kruse e330071b43 [ScopInfo] Remove bail out condition in buildMinMaxAccess().
The condition was introduced in r267142 to mitigate a long compile-time
case. In r306087, a max-computation limit was introduced that should
handle the same case while leaving the max disjuncts heuristic it
should have replaced intact.

Today, the max disjuncts bail-out causes problems in that it prematurely
stops SCoPs from being detected, e.g. in SPEC's lbm. This would hit less
like if isl_set_coalesce would be called after isl_set_remove_divs
(which makes more basic_set likely to be coalescable) instead of before.

This patch tries to remove the premature max-disjuncts bail-out
condition by using simple_hull() to reduce the computational overhead,
instead of directly invalidating that SCoP.

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

Contributed-by: Sahil Girish Yerawar <cs15btech11044@iith.ac.in>
llvm-svn: 331891
2018-05-09 16:23:56 +00:00
..
DependenceInfo.cpp [Polly][IslAst] Fix minimal dependence distance. 2018-04-04 18:08:13 +00:00
PolyhedralInfo.cpp [ScopInfo] Translate Scop::getParamSpace to isl++ [NFC] 2017-08-06 20:11:59 +00:00
PruneUnprofitable.cpp Adjust to clang-format changes 2018-03-20 17:16:32 +00:00
ScopBuilder.cpp Allow arbitrary function calls for debugging purposes. 2018-04-20 18:55:44 +00:00
ScopDetection.cpp [ScopDetect] Reject loop with multiple exit blocks. 2018-04-25 18:53:33 +00:00
ScopDetectionDiagnostic.cpp [ScopDetect] Reject loop with multiple exit blocks. 2018-04-25 18:53:33 +00:00
ScopGraphPrinter.cpp Adjust to clang-format changes 2018-03-20 17:16:32 +00:00
ScopInfo.cpp [ScopInfo] Remove bail out condition in buildMinMaxAccess(). 2018-05-09 16:23:56 +00:00
ScopPass.cpp Rename OptimizationDiagnosticInfo.h to OptimizationRemarkEmitter.h 2017-10-09 23:49:08 +00:00