HyperLink   Modulo Scheduling with Isomorphic Control Transformations.
Publication Year:
  Nancy J. Warter
  PhD thesis, Department of Computer Science, University of Illinois, Urbana IL, Sept. 1994

This dissertation addresses the complexities involved with scheduling in the scheduling in the presence of conditional branches. This is a particularly important problem for processors that execute multiple operations per cycle and are not fully utilized by local scheduling techniques. Since conditional branches introduce multiple execution paths, it is difficult for a global scheduler to keep track of the various paths and to select the appropriate operations to schedule. A new approach to global instruction scheduling is presented that uses Isomorphic Control Transformations (ICTs). If-conversion is used to convert an acyclic control flow graph into a large basic block or hyper-block. Local scheduling techniques which are well-known and widely supported can then be applied to schedule operations. After scheduling, the control flow graph is regenerated using Reverse If-Conversion.

One well-known local scheduling based technique is Modulo Scheduling. Modulo Scheduling is a software pipeline technique that effectively schedules loops for high-performance processors.

This dissertation highlights the benefits of Moludo Scheduling over other software pipelining techniques based on global scheduling. The ICTs are applied to Moludo Scheduling to shchedule loops with conditional branches. experimental results show that this approach allows more Hierarchical Reduction. Modulo scheduling with ICTs targets processors with no or limited support for conditional execution such as superscalar processors. However, in processors that do not require instruction set compatibility, support for Predicated Execution can be used. This dissertation shows that Modulo Scheduling with Predicated Execution has better performance and lower code expansion than Modulo Scheduling with ICTs on processors without special hardware support.