Abstract
The registers constraints can be taken into account during the scheduling phase of an acyclic data dependence graph (DAG): any schedule must minimize the register requirement. In this work, we mathematically study and extend the approach which consists of computing the exact upper-bound of the register need for all the valid schedules, independently of the functional unit constraints. A previous work (URSA) was presented in [5,4]. Its aim was to add some serial arcs to the original DAG such that the worst register need does not exceed the number of available registers. We write an appropriate mathematical formalism for this problem and extend the DAG model to take into account delayed read from and write into registers with multiple registers types. This formulation permits us to provide in this paper better heuristics and strategies (nearly optimal), and we prove that the URSA technique is not sufficient to compute the maximal register requirement, even if its solution is optimal.
Chapter PDF
References
A. Agrawal, P. Klein, and R. Ravi. Ordering Problems Approximated: Register Sufficiency, Single Processor Scheduling and Interval Graph Completion. internal research report CS-91-18, Brown University, Providence, Rhode Island, Mar. 1991.
P. Bergner, P. Dahl, D. Engebretsen, and M. O’Keefe. Spill Code Minimization via Interference Region Spilling. ACM SIG-PLAN Notices, 32(5):287–295, May 1997.
D. Bernstein, D. Q. Goldin, M. C. Golumbic, H. Krawczyk, Y. Mansour, I. Nahshon, and R. Y. Pinter. Spill Code Minimization Techniques for Optimizing Compilers. SIGPLAN Notices, 24(7):258–263, July 1989. Proceedings of the ACM SIGPLAN’ 89 Conference on Programming Language Design and Implementation.
D. Berson, R. Gupta, and M. Soffa. URSA: A unified ReSource allocator for registers and functional units in VLIW architectures. In Conference on Architectures and Compilation Techniques for Fine and Medium Grain Parallelism, pages 243–254, Orlando, Florida, Jan. 1993.
D. A. Berson. Unification of Register Allocation and Instruction Scheduling in Compilers for Fine-Grain Parallel Architecture. PhD thesis, Pittsburgh University, 1996.
D. G. Bradlee, S. J. Eggers, and R. R. Henry. Integrating Register Allocation and Instruction Scheduling for RISCs. ACM SIGPLAN Notices, 26(4):122–131, Apr. 1991.
T. S. Brasier. FRIGG: A New Approach to Combining Register Assignment and Instruction Scheduling. Master thesis, Michigan Technological University, 1994.
D. Callahan and B. Koblenz. Register Allocation via Hierarchical Graph Coloring. SIGPLAN Notices, 26(6):192–203, June 1991. Proceedings of the ACM SIGPLAN’ 91 Conference on Programming Language Design and Implementation.
G. J. Chaitin. Register allocation and spilling via graph coloring. ACM SIG-PLAN Notices, 17(6):98–105, June 1982.
P. Crawley and R. P. Dilworth. Algebraic Theory of Lattices. Prentice Hall, Englewood Cliffs, 1973.
J. R. Goodman and W.-C. Hsu. Code Scheduling and Register Allocation in Large Basic Blocks. In Conference Proceedings 1988 International Conference on Supercomputing, pages 442–452, St. Malo, France, July 1988.
C. Norris and L. L. Pollock. A Scheduler-Sensitive Global Register Allocator. In IEEE, editor, Supercomputing 93 Proceedings: Portland, Oregon, pages 804–813, 1109 Spring Street, Suite 300, Silver Spring, MD 20910, USA, Nov. 1993. IEEE Computer Society Press.
S. S. Pinter. Register Allocation with Instruction Scheduling: A New Approach. SIGPLAN Notices, 28(6):248–257, June 1993.
M. Poletto and V. Sarkar. Linear scan register allocation. ACM Transactions on Programming Languages and Systems, 21(5):895–913, Sept. 1999.
Schlansker, B. Rau, and S. Mahlke. Achieving High Levels of instruction-Level Parallelism with Reduced Hardware Complexity. Technical Report HPL-96-120, Hewlet Packard, 1994.
S.-A.-A. Touati. Optimal Register Saturation in Acyclic Superscalar and VLIW Codes. Research Report, INRIA, Nov. 2000. ftp://ftp.inria.fr/INRIA/Projects/a3/touati/optiRS.ps.gz.
S.-A.-A. Touati and F. Thomasset. Register Saturation in Data Dependence Graphs. Research Report RR-3978, INRIA, July 2000. ftp://ftp.inria.fr/INRIA/publication/publi-ps-gz/RR/RR-3978.ps.gz
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Touati, S.A.A. (2001). Register Saturation in Superscalar and VLIW Codes. In: Wilhelm, R. (eds) Compiler Construction. CC 2001. Lecture Notes in Computer Science, vol 2027. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45306-7_15
Download citation
DOI: https://doi.org/10.1007/3-540-45306-7_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41861-0
Online ISBN: 978-3-540-45306-2
eBook Packages: Springer Book Archive