A Framework for Unifying Reordering Transformations
Abstract
We present a framework for unifying iteration reordering transformations
such as loop interchange, loop distribution, skewing, tiling, index set
splitting and statement reordering. The framework is based on the idea
that a transformation can be represented as a schedule that maps the
original iteration space to a new iteration space. The framework is
designed to provide a uniform way to represent and reason about
transformations. As part of the framework, we provide algorithms
to assist in the building and use of schedules. In particular, we
provide algorithms to test the legality of schedules, to align schedules
and to generate optimized code for schedules.
(Also cross-referenced as UMIACS-TR-93-134)