llvm-capstone/polly
Philip Pfaffe a8f7cc8ec9 [Acc] Fix for PR33208
During codegen, Polly attempts to clear all loops from ScalarEvolution
and LoopInfo, and it does so one block at a time. This causes undefined
behaviour, since this way a loop header might be removed from a loop
before the entire loop is erased, causing ScalarEvolution to run into an
error.

Instead, just delete the entire loop atomically. This fixes currently
failing testcases.

llvm-svn: 326643
2018-03-03 10:47:37 +00:00
..
cmake [CMake] Use only keyword-version of target_link_library. NFC. 2018-01-12 16:09:18 +00:00
docs Docs, release notes: update version to 7.0.0 2018-01-03 15:54:54 +00:00
include/polly Change memcpy/memove/memset to have dest and source alignment attributes. 2018-01-28 18:13:57 +00:00
lib [Acc] Fix for PR33208 2018-03-03 10:47:37 +00:00
test Update isl to isl-0.18-1047-g4a20ef8 2018-02-20 07:26:42 +00:00
tools [GPUJIT] Improved temporary file handling. 2017-09-19 10:41:29 +00:00
unittests [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
utils Revise polly-{update|check}-format targets 2015-09-14 16:59:50 +00:00
www [Polly] Information about generalized matrix multiplication 2017-09-24 19:00:25 +00:00
.arcconfig [polly] Set up .arcconfig to point to new Diffusion PLO repository 2017-11-27 17:34:03 +00:00
.arclint [External] Move lib/JSON to lib/External/JSON. NFC. 2017-02-05 15:26:56 +00:00
.gitattributes
.gitignore Do not track the isl PDF manual in SVN 2017-01-16 11:48:03 +00:00
CMakeLists.txt [CMake] Use only keyword-version of target_link_library. NFC. 2018-01-12 16:09:18 +00:00
CREDITS.txt
LICENSE.txt [External] Move lib/JSON to lib/External/JSON. NFC. 2017-02-05 15:26:56 +00:00
README Test commit 2017-06-28 12:58:44 +00:00

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.