Abstract
We consider the NP-complete problem of generating evaluations for expression DAGs with a minimal number of registers. We restrict our attention to contiguous evaluations, because for nearly all of the DAGs derived from real application programs there exists a contiguous evaluation that is optimal w.r. to the register need. We present an algorithm that generates an optimal contiguous evaluation for a given DAG. The algorithm is very fast on the average. It generates the evaluation by splitting the DAG in trees with import and export nodes and applying a labeling scheme to the trees.
research partially funded by DFG, SFB 124
This is a preview of subscription content, log in via an institution.
References
Keßler, C.W., Paul, W.J., Rauber, T.: A Randomized Heuristic Approach to Register Allocation. Proceedings of PLILP'91, Springer LNCS Vol. 528, 195–206.
Keßler, C.W., Paul, W.J., Rauber, T.: Scheduling Vector Straight Line Code on Vector Processors. in: R. Giegerich, S.L. Graham (Ed.): Code Generation-Concepts, Tools, Techniques. Springer Workshops in Computing Series (WICS), 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Keßler, C.W., Rauber, T. (1993). Efficient register allocation for large basic blocks. In: Bruynooghe, M., Penjam, J. (eds) Progamming Language Implementation and Logic Programming. PLILP 1993. Lecture Notes in Computer Science, vol 714. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57186-8_98
Download citation
DOI: https://doi.org/10.1007/3-540-57186-8_98
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57186-5
Online ISBN: 978-3-540-47945-1
eBook Packages: Springer Book Archive