Preface to the Second Edition
The practice of compiler construction changes continually, in part because the designs of processors and systems change. For example, when we began to write
Engineering a Compiler (
eac) in 1998, some of our colleagues questioned the wisdom of including a chapter on instruction scheduling because out-of-order execution threatened to make scheduling largely irrelevant. Today, as the second edition goes to press, the rise of multicore processors and the push for more cores has made in-order execution pipelines attractive again because their smaller footprints allow the designer to place more cores on a chip. Instruction scheduling will remain important for the near-term future.
At the same time, the compiler construction ...