CLooG's User's Guide (online HTML version) updated: October 15th, 2007.The user's guide shortly presents why one should be interested by such a code generator. It shows in detail how to write the input file for the CLooG software and how to set its various options thanks to examples. It presents the CLooG library, its data structures and its various functions. It explains how to compile, install and uninstall the software and its library. A copy of this document is provided in the doc/ subdirectory of the standard CLooG distribution.
Three mailing lists (Google Groups) are open for discussions around CLooG.
- CLooG: list to get help on installing or using CLooG and to ask for general informations about the software. General discussions on code generation to scan integer sets are welcome there.
Subscribe to CLooG General Visit this group - CLooG Development: the general development list about CLooG. Anything relevant to the development or testing of CLooG is suitable for discussion here: patch submissions and discussion of particular patches, bug reports, requests for features.
Subscribe to CLooG Development Visit this group - CLooG Announce: very low-volume list for announcements about CLooG: new versions of CLooG itself, new versions of tools of major interest for CLooG users, and special events around CLooG (tutorials, workshops).
Subscribe to CLooG Announce Visit this group
Code generation for scanning Z-polyhedra is a well known problem. It was first solved by Ancourt and Irigoin for the simple case of Z-polyhedra with unit lattice. They used the Fourier-Motzkin elimination technique to compute loop bounds. Some code generators descended from this technique:Omega Project code generatorFor complex situation, the best solution at present is the Quilleré et al. algorithm. This technique generates each loop level by separating the polyhedra until they are disjoint on the current dimension, then recursively generates loop nests that scan each of them. Code generators using this technique are:
LooPo internal code generatorLoopGen (no more available)
CLooG