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

12.1. Introduction

On many processors, the order in which operations are presented for execution has a significant effect on the length of ...

Get Engineering a Compiler, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.