llvm-project/polly
Michael Kruse cc871cf6b5 [Polly][Test] Fix race condition while printing dot files.
The tests dot-scops.ll and dot-scops-npm.ll both wrote to the same file
scops.func.dot. If they are executed in parallel they will race for
the file. Fix by renaming func to func_npm in dot-scops-npm.ll so this
test writes dot scops.func_npm.dot.

Long-term, we will probably pass a file name (prefix) to the
printer pass such that we can use the guaranteed-unique LIT %t
placeholder in tests.
2022-05-26 15:58:53 -05:00
..
cmake [polly][cmake] Use `GNUInstallDirs` to support custom installation dirs 2022-01-18 20:33:42 +00:00
docs Bump the trunk major version to 15 2022-02-01 23:54:52 -08:00
include/polly [Polly] Mark classes as final by default. NFC. 2022-05-17 12:05:39 -05:00
lib [APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf 2022-05-19 11:23:13 +01:00
test [Polly][Test] Fix race condition while printing dot files. 2022-05-26 15:58:53 -05:00
tools
unittests [polly][unittests] Link DeLICMTests with libLLVMCore 2022-01-28 21:58:40 +01:00
utils Harmonize Python shebang 2020-07-16 21:53:45 +02:00
www [Polly] Clean up Polly's getting started docs. 2021-10-14 12:26:57 -05:00
.arclint
.gitattributes
.gitignore
CMakeLists.txt [cmake] Make include(GNUInstallDirs) always below project(..) 2022-01-20 18:59:17 +00:00
CREDITS.txt
LICENSE.TXT Rename top-level LICENSE.txt files to LICENSE.TXT 2021-03-10 21:26:24 -08:00
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.