Register allocation in the SPUR Lisp compiler
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Numerical recipes in C: the art of scientific computing
Numerical recipes in C: the art of scientific computing
Warp experience: we can map computations onto a parallel computer efficiently
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Spill code minimization techniques for optimizing compliers
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Register allocation via clique separators
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Coloring heuristics for register allocation
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
The priority-based coloring approach to register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Register allocation via hierarchical graph coloring
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
An overview of the PL.8 compiler
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Hi-index | 0.00 |
We propose a model for global register allocation via graph coloring that uses knowledge about program structure to guide global register allocation. We define restrictions that must be met by the live ranges of loops and conditionals such that the corresponding portions of the register conflict graph are interval graphs. This knowledge is used to locate clique separators in register conflict graphs. We discuss how clique separators can be used both to improve sequential register allocation and as a a platform for parallelized global register allocation. We conclude this paper by presenting measurements for a benchmark of C kernels for most of which our method found all clique separators.