llvm-project/polly
Tobias Grosser e1bc007afa Allow to run the Polly preopt passes with -O0
To extract a preoptimized LLVM-IR file from a C-file run:

clang -Xclang -load -Xclang LLVMPolly.so -O0 -mllvm -polly file.c -S -emit-llvm

On the generated file you can directly run passes such as:
'opt -view-scops file.s'

llvm-svn: 146560
2011-12-14 12:21:31 +00:00
..
autoconf configure: Add gmp_inc when checking for CLooG 2011-10-04 06:55:03 +00:00
cmake Add initial version of Polly 2011-04-29 06:27:02 +00:00
docs Add initial version of Polly 2011-04-29 06:27:02 +00:00
include JScop: Allow to update the context 2011-11-15 11:38:44 +00:00
lib Allow to run the Polly preopt passes with -O0 2011-12-14 12:21:31 +00:00
test ScheduleOptimizer: Do not tile bands with just one dimension 2011-12-08 13:02:58 +00:00
tools Add initial version of Polly 2011-04-29 06:27:02 +00:00
utils Update isl 2011-12-14 08:58:36 +00:00
www Allow to run the Polly preopt passes with -O0 2011-12-14 12:21:31 +00:00
CMakeLists.txt Buildsystem: Add -no-rtti 2011-06-30 19:50:04 +00:00
CREDITS.txt (Test commit for polly) 2011-07-16 13:30:03 +00:00
LICENSE.txt Add initial version of Polly 2011-04-29 06:27:02 +00:00
Makefile Add initial version of Polly 2011-04-29 06:27:02 +00:00
Makefile.common.in Add initial version of Polly 2011-04-29 06:27:02 +00:00
Makefile.config.in Buildsystem: Add -no-rtti 2011-06-30 19:50:04 +00:00
README Remove some empty lines 2011-10-04 06:56:36 +00:00
configure configure: Add gmp_inc when checking for CLooG 2011-10-04 06:55:03 +00:00

README

Polly - Polyhedral optimizations for LLVM

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.