Sciweavers

PLDI
2004
ACM

A generalized algorithm for graph-coloring register allocation

14 years 5 months ago
A generalized algorithm for graph-coloring register allocation
Graph-coloring register allocation is an elegant and extremely popular optimization for modern machines. But as currently formulated, it does not handle two characteristics commonly found in commercial architectures. First, a single register name may appear in multiple register classes, where a class is a set of register names that are interchangeable in a particular role. Second, multiple register names may be aliases for a single hardware register. We present a generalization of graph-coloring register allocation that handles these problematic characteristics while preserving the elegance and practicality of traditional graph coloring. Our generalization adapts easily to a new target machine, requiring only the sets of names in the register classes and a map of the register aliases. It also drops easily into a well-known graph-coloring allocator, is efficient at compile time, and produces high-quality code. Categories and subject descriptors D.3.4 [Programming Languages]: Processor...
Michael D. Smith, Norman Ramsey, Glenn H. Holloway
Added 30 Jun 2010
Updated 30 Jun 2010
Type Conference
Year 2004
Where PLDI
Authors Michael D. Smith, Norman Ramsey, Glenn H. Holloway
Comments (0)