A generic approach to integrating automatic code generation and register allocation

Kelvin S. Bryant · 1993

This thesis presents methods for modifying existing code generator generators (CGGs) so that they create efficient code generators with register coloring for Complex Instruction Set Computers (CISC) and Reduced Instruction Set Computers (RISC). Existing compiler tools allow the automatic generation of new code generators, however, most of these have poor register allocation support or no support at all. In addition, some CGGs do not include a costing phase to guide the code selector, which limits their usefulness in CISC environments. The developed approach, termed Generic Register Allocation System (GRAS), augments existing CGG input formats with additional register information so that the CGG has the necessary machine specifics to produce good register allocators. A Prepass before the register allocator provides the allocator with information about the specific register requirements of the current program. Details are also presented on how to generalize existing register coloring algorithms to complement this general approach.

Read the paper · More papers on PaperTik