A portable machine-independent global optimizer--design and measurements

Frederick Chow · 1984

This dissertation addresses the topic of portable and machine-independent program optimization on a standard, well-defined intermediate code. The design of the intermediate code, and features needed to support machine-independent optimization are discussed. A number of new techniques in program optimization are presented. These techniques when applied can substantially reduce both the implementation complexities and running time of optimizers in general, with no sacrifice in the optimizations performed. A register allocation algorithm based on node coloring, suitable for use in the machine-independent context, is introduced. An implementation of these techniques in the machine-independent optimizer UOPT is presented. The optimization performance, efficiency and the relative importance among the different types of optimization transformations are studied according to timing measurements, optimization statistics and by variation in optimization parameters. Finally, the effectiveness of portable machine-independent optimization on a number of target machines that support the intermediate code is discussed, based on optimization performance data in the different machines and comparisons of machine characteristics. The overall evaluation confirms the advantages of using portable machine-independent optimization in a retargetable compiler system.

Read the paper · More papers on PaperTik