Journal of the ACM (JACM)
The Generation of Optimal Code for Arithmetic Expressions
Journal of the ACM (JACM)
An axiomatic approach to code optimization for expressions
Journal of the ACM (JACM)
Communications of the ACM
On arithmetic expressions and trees
Communications of the ACM
Generation of optimal code for expressions via factorization
Communications of the ACM
On compiling algorithms for arithmetic expressions
Communications of the ACM
Optimization of expressions in Fortran
Communications of the ACM
Characterizations of flowchartable recursions short version
STOC '72 Proceedings of the fourth annual ACM symposium on Theory of computing
The complexity of theorem-proving procedures
STOC '71 Proceedings of the third annual ACM symposium on Theory of computing
Formal languages and their relation to automata
Formal languages and their relation to automata
On the Structure of Polynomial Time Reducibility
Journal of the ACM (JACM)
A Completeness Theorem for Straight-Line Programs with Structured Variables
Journal of the ACM (JACM)
Profile assisted register allocation
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Space bounds for a game on graphs
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
Some simplified NP-complete problems
STOC '74 Proceedings of the sixth annual ACM symposium on Theory of computing
Polynomial complete scheduling problems
SOSP '73 Proceedings of the fourth ACM symposium on Operating system principles
A Progressive Register Allocator for Irregular Architectures
Proceedings of the international symposium on Code generation and optimization
Tailoring Graph-coloring Register Allocation For Runtime Compilation
Proceedings of the International Symposium on Code Generation and Optimization
Polynomially Complete Fault Detection Problems
IEEE Transactions on Computers
SSA Elimination after Register Allocation
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture
NP-complete scheduling problems
Journal of Computer and System Sciences
Max-coloring and online coloring with bandwidths on interval graphs
ACM Transactions on Algorithms (TALG)
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
Register allocation after classical SSA elimination is NP-Complete
FOSSACS'06 Proceedings of the 9th European joint conference on Foundations of Software Science and Computation Structures
SARA: combining stack allocation and register allocation
CC'06 Proceedings of the 15th international conference on Compiler Construction
Queen-bee: query interaction-aware for buffer allocation and scheduling problem
DaWaK'12 Proceedings of the 14th international conference on Data Warehousing and Knowledge Discovery
Spill code placement for SIMD machines
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
Model and complexity results for tree traversals on hybrid platforms
Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
Hi-index | 0.00 |
The search for efficient algorithms for register allocation dates back to the time of the first Fortran compiler for the IBM 704. Since then, many variants of the problem have been considered; depending on two factors: (1) the particular model for registers, and (2) the definition of the term “computation of a program” e.g. whether values may be computed more than once. We will show that several variants of the register allocation problem for straight line programs are polynomial complete. In particular we consider, (1) the case when each value is computed exactly once, and (2) the case when values may be recomputed as necessary. The completeness of the third problem considered is surprising. A straight line program starts with a set of initial values, and computes intermediate and final values. Suppose, for each value, the register that value must be computed into is preassigned. Then, (3) the problem of determining if there is a computation of the straight line program, that computes values into the assigned registers, is polynomial complete.