1993•Unpublished venueRequires access

A generic approach to integrating automatic code generation and register allocation

Kelvin S. Bryant

Open publisher page 1 citations

Abstract

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.

About this research paper

What this paper is about

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.

Why it matters

OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

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.

Key concepts: Register allocation, Allocator, Computer science, Code generation, Compiler, Processor register, Programming language, Set (abstract data type)

Related papers

Back to paper searchBrowse research topicsOriginal source
A generic approach to integrating automatic code generation and register allocation — Research Paper | ScholarLens