hanchenye-llvm-project/polly
Tobias Grosser baa1ac260b CLooG: Do not take into account the context
CLooG and the CLooG based code generation does not yet correctly derive the
types of the expressions, but just uses i64 for everything. This is incorrect,
but works normally pretty well. However, the recent change of adding parameter
bounds to the context made CLooG generate expressions that contain a lot of very
large integers that possibly don't fit into an i64. This broke the code
generation for several benchmarks.

To get the CLooG based code generation working again, we just don't take into
account any constraints in the context. This brings us back to the theoretical
incorrect, but in practice generally correct code.

The next step will be the isl based code generation. Here we will derive
automatically correct types.

llvm-svn: 158015
2012-06-05 19:31:08 +00:00
..
autoconf add a check for ISL codegen at configure time 2012-05-07 16:20:07 +00:00
cmake add a check for ISL codegen at configure time 2012-05-07 16:20:07 +00:00
docs
include Move executeScopConditionally() into its own file 2012-05-29 09:11:54 +00:00
lib CLooG: Do not take into account the context 2012-06-05 19:31:08 +00:00
test ScopInfo: Add parameter bounds to context 2012-05-22 10:47:27 +00:00
tools
utils Add llvm.codegen intrinsic patch file to polly/utils. 2012-05-30 13:53:57 +00:00
www www: Add GPGPU Code Generation Documentation. 2012-05-30 13:54:02 +00:00
CMakeLists.txt compile cloog code only when CLOOG_FOUND is set 2012-05-04 20:30:03 +00:00
CREDITS.txt (Test commit for polly) 2011-07-16 13:30:03 +00:00
LICENSE.txt Happy new year 2012! 2012-01-01 08:16:56 +00:00
Makefile Revert "Fix a bug introduced by r153739: We are not able to provide the correct" 2012-04-11 07:43:13 +00:00
Makefile.common.in
Makefile.config.in add a check for ISL codegen at configure time 2012-05-07 16:20:07 +00:00
README Remove some empty lines 2011-10-04 06:56:36 +00:00
configure add a check for ISL codegen at configure time 2012-05-07 16:20:07 +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.