- July 27th 2015: CLooG 0.18.4 is out ! It mostly solve building and offers a better OpenScop support. Check out the Download Section. Changes only apply to the official isl version.
- December 8th 2014: CLooG 0.18.3 is out ! It mostly solves some inconsistencies with the latest OpenScop distribution and the latest autoconf/automake versions. Check out the Download Section. Changes only apply to the official isl version.
- October 11th 2013: CLooG 0.18.1 is out ! Tobias Groβer cooked this release including the latest bug fixes, mostly on configure/compilation issues. Check out the Download Section. Changes only apply to the official isl version.
- December 20th 2012: CLooG 0.18.0 is out ! Tobias Santa Groβer released this new version in line with LLVM and Polly 3.2. Check out the Download Section. Changes only apply to the official isl version.
- December 12th 2011: CLooG 0.17.0 is out ! This new version is freshly pushed by Tobias Tobi Groβer, new CLooG's Chief Maintainer taking over Sven Skimo Verdoolaege after many years of outstanding work. Check out the announce message and the Download Section. Changes only apply to the official isl version.
- July 13th 2011: CLooG 0.16.3 is out ! Changes only apply to the official isl version. Check the Download Section.
- March 20th 2011: CLooG 0.16.2 is out ! Changes only apply to the official isl version.
- January 7th 2011: CLooG 0.16.1 is out !
- December 25th 2010: Santa Sven released CLooG 0.16.0 now in three flavours depending on the polyhedral library: isl (official CLooG, recommended), PolyLib (CLooG-Polylib, historical) and PPL (CLooG-Parma). Beware that the API evolved a lot and that the old one (still there) will disappear in the future.
CLooG is a free software and library to generate code for scanning Z-polyhedra. That is, it finds a code (e.g. in C, FORTRAN...) that reaches each integral point of one or more parameterized polyhedra. CLooG has been originally written to solve the code generation problem for optimizing compilers based on the polytope model. Nevertheless it is used now in various area e.g. to build control automata for high-level synthesis or to find the best polynomial approximation of a function. CLooG may help in any situation where scanning polyhedra matters. While the user has full control on generated code quality, CLooG is designed to avoid control overhead and to produce a very effective code.
Polyhedral Domains to Scan Scanning Code Optimized for Size Scanning Code Optimized for Control for (i=1;i<=8;i++) { for (j=i-1;j<=7;j++) { S1(i,j); } if ((i>=2)&&(i<=6)) { for (j=0;j<=4;j++) { S2(i,j); } } } for (j=0;j<=7;j++) { S1(1,j); } for (i=2;i<=5;i++) { for (j=0;j<=i-2;j++) { S2(i,j) ; } for (j=i-1;j<=4;j++) { S1(i,j); S2(i,j) ; } for (j=5;j<=7;j++) { S1(i,j); } } for (j=0;j<=4;j++) { S2(6,j) ; } for (j=5;j<=7;j++) { S1(6,j); } for (i=7;i<=8;i++) { for (j=i-1;j<=7;j++) { S1(i,j); } }CLooG stands for Chunky Loop Generator: it is a part of the Chunky project, a research tool for data locality improvement. It is designed to be also the back-end of automatic parallelizers like LooPo. Thus it is very 'compilable code oriented' and provides powerful program transformation facilities. Mainly, it allows the user to specify very general schedules, e.g. where unimodularity or invertibility doesn't matter.
This work is supported in part by the MANY project of the ITEA2 program, under convention number 112930234 with Direction Générale de la Compétitivité de l'Industrie et des Services, sponsored by France's Ministère de l'Economie, des Finances et de l'Industrie.