Design of graphite and the Polyhedral Compilation Package

Jan Sjödin, Sebastian Pop, Harsha Jagasia, Tobias Grosser, Antoniu Pop. Design of graphite and the Polyhedral Compilation Package. In Proceedings of the 2009 GCC Developers' Summit. pages 33-45, Montréal Canada, 06 2009.


Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a detailed description of the design and future directions of this infrastructure. Graphite uses the polyhedral model as the internal representation (GPOLY). The plan is to create a polyhedral compilation package (PCP) that will provide loop optimization and analysis capabilities to GCC. This package will be separated from GIMPLE via an interface language that is restricted to express only what GPOLY can represent. The interface language is a set of data structures that encodes the control flow and memory accesses of a code region. A syntax for the language is also defined to facilitate debugging and testing.