Chapter 12. Instruction Scheduling
The execution time of a set of operations depends heavily on the order in which they are presented for execution. Instruction scheduling attempts to reorder the operations in a procedure to improve its running time. In essence, it tries to execute as many operations per cycle as possible.
This chapter introduces the dominant technique for scheduling in compilers: greedy list scheduling. It then presents several methods for applying list scheduling to larger scopes than a single basic block.
Keywords: Instruction Scheduling, List Scheduling, Trace Scheduling, Software Pipelining
On many processors, the order in which operations are presented for execution has a significant effect on the length of ...