hanchenye-llvm-project/polly
Michael Kruse d51fbfca46 [ZoneAlgo] Make ZoneAlgorithm::isNormalized out-of-quota safe.
The aosp-O3-polly-before-vectorizer-unprofitable buildbot currently
fails in ZoneAlgorithm::isNormalized, presumably because an
out-of-quota happens in that function.

Modify ZoneAlgorithm::isNormalized to return an isl::boolean such
it can report an error.

In the failing case, it was called in an assertion in ForwardOpTree.
Allow to pass the assertion in an out-of-quota event, a condition that
is later checked before forwarding an operand tree.

llvm-svn: 333709
2018-05-31 22:44:23 +00:00
..
cmake [CMake] Use only keyword-version of target_link_library. NFC. 2018-01-12 16:09:18 +00:00
docs [doc] Overhaul doc on preparing IR for processing by Polly. 2018-04-06 19:24:18 +00:00
include/polly [ZoneAlgo] Make ZoneAlgorithm::isNormalized out-of-quota safe. 2018-05-31 22:44:23 +00:00
lib [ZoneAlgo] Make ZoneAlgorithm::isNormalized out-of-quota safe. 2018-05-31 22:44:23 +00:00
test [Acc] Followup for r333105: Fix one additional testcase 2018-05-24 10:18:09 +00:00
tools [GPUJIT] Improved temporary file handling. 2017-09-19 10:41:29 +00:00
unittests Remove the last uses of isl::give and isl::take 2018-04-29 00:28:26 +00:00
utils [arc] Remove unittesting from arcconfig 2018-05-15 13:43:42 +00:00
www [Polly] Information about generalized matrix multiplication 2017-09-24 19:00:25 +00:00
.arcconfig [arc] Remove unittesting from arcconfig 2018-05-15 13:43:42 +00:00
.arclint
.gitattributes
.gitignore
CMakeLists.txt [CMake] Use only keyword-version of target_link_library. NFC. 2018-01-12 16:09:18 +00:00
CREDITS.txt
LICENSE.txt
README

README

Polly - Polyhedral optimizations for LLVM
-----------------------------------------
http://polly.llvm.org/

Polly uses a mathematical representation, the polyhedral model, to represent and
transform loops and other control flow structures. Using an abstract
representation it is possible to reason about transformations in a more general
way and to use highly optimized linear programming libraries to figure out the
optimal loop structure. These transformations can be used to do constant
propagation through arrays, remove dead loop iterations, optimize loops for
cache locality, optimize arrays, apply advanced automatic parallelization, drive
vectorization, or they can be used to do software pipelining.