Periodic Polyhedra Benoˆ ıt Meister LSIIT - ICPS ole API Bd Sebastian Brant F-67400 Illkirch meister@icps.u-strasbg.fr home page: http://icps.u-strasbg.fr/~meister Abstract. This paper presents a new method for computing the integer hull of a parameterized rational polyhedron by introducing the concept of periodic polyhedron. Besides concerning generally parametric combi- natorial optimization, the method has many applications for the analysis, optimization and parallelization of loop nests, especially in compilers. 1 Motivation For many years, compiler writers have focused on parameterized loop nests, mainly because of their importance in scientific and multimedia programs. The polytope model [2] allows to manipulate loop nests whose bounds are affine functions with integer-valued parameters in the con- stant part by modeling them as parameterized rational polytopes P . As the considered loop indices are incremented by a constant integer value, the values taken by the n-vector of indices belong to a subset of Z n : an integer lattice L. So the values taken by the index vector I Z n , where n defines the number of nested loops, are given by the so-called Z-polytope P L. Example 1. The iterations of the following Gaussian elimination code: for(i=1;i<=n; i++) for(j=i+1;j<=n;j++) for(k=i+1; k<=n; k++) a[j][k]=a[j][k]-a[j][i]*a[i][k]/a[i][i]; are modeled by the parameterized Z-polytope P Z 3 , where P = {1 i n; i +1 j n; i +1 k n} and n is an integer parameter. As in the general problem of integer linear programming, we are inter- ested in integer points (i.e., points with integer coordinates) in polytopes whose vertices may be non-integer. In a class of code optimization and parallelization methods (e.g. in [20, 12, 21, 8, 22]), loop nests are usually transformed by applying an affine integer transformation to the Z-polytope representing the loop nest [17]. They may also be split into sub-polyhedra as for example in [11]. The