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
Linear-time register allocation for a fixed number of registers
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Flow diagrams, turing machines and languages with only two formation rules
Communications of the ACM
The Treewidth of Java Programs
ALENEX '02 Revised Papers from the 4th International Workshop on Algorithm Engineering and Experiments
Parameterized Complexity Theory (Texts in Theoretical Computer Science. An EATCS Series)
Parameterized Complexity Theory (Texts in Theoretical Computer Science. An EATCS Series)
Register allocation via coloring
Computer Languages
Optimal register allocation in polynomial time
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 0.04 |
In compilers, register allocation is one of the most important stages with respect to optimization for typical goals, such as code size, code speed, or energy efficiency. Graph theoretically, optimal register allocation is the problem of finding a maximum weight r-colorable induced subgraph in the conflict graph of a given program. The parameter r is the number of registers. Large classes of programs are structured, i.e. their control-flow graphs have bounded tree-width (Thorup (1998) [17], Gustedt et al. (2002) [8] and Burgstaller et al. (2004) [3]). The decision problem of deciding if a conflict graph of a structured program is r-colorable is known to be fixed-parameter tractable (Bodlaender et al. (1998) [1]). Optimal register allocation for structured programs is known to be in XP (Krause (2013) [13]). We complement these results by showing that optimal register allocation parametrized by r is W[SAT]-hard. This even holds for programs using only if/else and while as control structures; these programs form are subclass of the structured programs.