The maximum k-colorable subgraph problem for chordal graphs
Information Processing Letters
Dhrystone benchmark: rationale for version 2 and measurement rules
ACM SIGPLAN Notices
A Linear-Time Algorithm for Finding Tree-Decompositions of Small Treewidth
SIAM Journal on Computing
Optimal and near-optimal global register allocations using 0–1 integer programming
Software—Practice & Experience
All structured programs have small tree width and good register allocation
Information and Computation
Register allocation in structured programs
Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
Linear-time register allocation for a fixed number of registers
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
Linear scan register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dhrystone: a synthetic systems programming benchmark
Communications of the ACM
Register allocation for irregular architectures
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
The Treewidth of Java Programs
ALENEX '02 Revised Papers from the 4th International Workshop on Algorithm Engineering and Experiments
A faster optimal register allocator
Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture
Register allocation & spilling via graph coloring
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
A generalized algorithm for graph-coloring register allocation
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors
LCN '04 Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks
On the Complexity of Register Coalescing
Proceedings of the International Symposium on Code Generation and Optimization
Aliased register allocation for straight-line programs is NP-complete
Theoretical Computer Science
Improved Inapproximability Results for Maximum k-Colorable Subgraph
APPROX '09 / RANDOM '09 Proceedings of the 12th International Workshop and 13th International Workshop on Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques
Register allocation via coloring of chordal graphs
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Nearly optimal register allocation with PBQP
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Register allocation for programs in SSA-Form
CC'06 Proceedings of the 15th international conference on Compiler Construction
Register allocation via coloring
Computer Languages
Optimal placement of bank selection instructions in polynomial time
Proceedings of the 16th International Workshop on Software and Compilers for Embedded Systems
The complexity of register allocation
Discrete Applied Mathematics
Hi-index | 0.00 |
A graph-coloring register allocator that optimally allocates registers for structured programs in polynomial time is presented. It can handle register aliasing. The assignment of registers is optimal with respect to spill and rematerialization costs, register preferences and coalescing. The register allocator is not restricted to programs in SSA form or chordal interference graphs. It assumes the number of registers is to be fixed and requires the input program to be structured, which is automatically true for many programming languages and for others, such as C, is equivalent to a bound on the number of goto labels per function. Non-structured programs can be handled at the cost of either a loss of optimality or an increase in runtime. This is the first optimal approach that has polynomial runtime and works for such a huge class of programs. An implementation is already the default register allocator in most backends of a mainstream cross-compiler for embedded systems.