baa1ac260b
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 |
||
---|---|---|
.. | ||
autoconf | ||
cmake | ||
docs | ||
include | ||
lib | ||
test | ||
tools | ||
utils | ||
www | ||
CMakeLists.txt | ||
CREDITS.txt | ||
LICENSE.txt | ||
Makefile | ||
Makefile.common.in | ||
Makefile.config.in | ||
README | ||
configure |
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.