Contents

Introduction

I.1. Inside this book

I.2. Other contributors

I.3. Basics on instruction-level parallelism processor architectures

Part 1 Prolog: Optimizing Compilation

1 On The Decidability Of Phase Ordering In Optimizing Compilation

1.1. Introduction to the phase ordering problem

1.2. Background on phase ordering

1.3. Toward a theoretical model for the phase ordering problem

1.4. Examples of decidable simplified cases

1.5. Compiler optimization parameter space exploration

1.6. Conclusion on phase ordering in optimizing compilation

Part 2 Instruction Scheduling

2 Instruction Scheduling Problems And Overview

2.1. VLIW instruction scheduling problems

2.2. Software pipelining

2.3. Instruction scheduling and register allocation

3 Applications Of Machine Scheduling To Instruction Scheduling

3.1. Advances in machine scheduling

3.2. List scheduling algorithms

3.3. Time-indexed scheduling problem formulations

4 Instruction Scheduling Before Register Allocation

4.1. Instruction scheduling for an ILP processor: case of a VLIW architecture

4.2. Large neighborhood search for the resource-constrained modulo scheduling problem

4.3. Resource-constrained modulo scheduling problem

4.4. Time-indexed integer programming formulations

4.5. Large neighborhood search heuristic

4.6. Summary and conclusions

5 Instruction Scheduling After Register Allocation

5.1. Introduction

5.2. Local instruction scheduling

5.3. Global instruction scheduling

5.4. Experimental results

5.5. Conclusions

6 Dealing ...

Get Advanced Backend Optimization 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.