Journal of the ACM (JACM)
Communications of the ACM
Optimization of expressions in Fortran
Communications of the ACM
A comment on index register allocation
Communications of the ACM
Compiler Construction for Digital Computers
Compiler Construction for Digital Computers
Global common subexpression elimination
Proceedings of a symposium on Compiler optimization
Code selection through object code optimization
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
On the use of registers vs. cache to minimize memory traffic
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
CRegs: a new kind of memory for referencing arrays and pointers
Proceedings of the 1988 ACM/IEEE conference on Supercomputing
Unified management of registers and cache using liveness and cache bypass
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
On the Minimization of Loads/Stores in Local Register Allocation
IEEE Transactions on Software Engineering
The priority-based coloring approach to register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Subprogram Inlining: A Study of its Effects on Program Execution Time
IEEE Transactions on Software Engineering
Probabilistic register allocation
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Demand-driven register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
tcc: a system for fast, flexible, and high-level dynamic code generation
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Code Generation for Expressions with Common Subexpressions
Journal of the ACM (JACM)
The ALS Ada compiler global optimizer
SIGAda '85 Proceedings of the 1985 annual ACM SIGAda international conference on Ada
Linear scan register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Dynamic Programming Approach to Optimal Integrated Code Generation
OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
Register allocation by priority-based coloring
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Optimal integrated code generation for clustered VLIW architectures
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
Eliminating redundant object code
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A faster optimal register allocator
Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture
Machine-independent register allocation
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
Code generation for expressions with common subexpressions (Extended Abstract)
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Global register allocation for non-equivalent register sets
ACM SIGPLAN Notices
Register allocation by priority-based coloring
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Heuristic chaining in directed acyclic graphs
Computer Languages
Optimization of hierarchical directed graphs
Computer Languages
Scheduling expression DAGs for minimal register need
Computer Languages
A framework for end-to-end verification and evaluation of register allocators
SAS'07 Proceedings of the 14th international conference on Static Analysis
Hi-index | 48.22 |
This paper introduces the notion of usage counts, shows how usage counts can be developed by algorithms that eliminate redundant computations, and describes how usage counts can provide the basis for register allocation. The paper compares register allocation based on usage counts to other commonly used register allocation techniques, and presents evidence which shows that the usage count technique is significantly better than these other techniques.