Abstract
Prolog tailoring technique, an optimization method to improve the execution speed of a procedure, is proposed in this paper. When a procedure is repeatedly called and the machine has a lot of callee-saved registers, optimizing prolog and epilog of the procedure can become an important step of optimization. Epilog tailoring supported by IBM xlc compiler has been known to improve a procedure’s execution speed by reducing the number of registerrestoring instructions on exit points. In this paper, we propose a prolog tailoring technique that can reduce register-saving instructions at entry points. We can optimize prolog by providing multiple tailored versions of it on different execution paths of the procedure and by delaying the generation of register-saving instructions as late as possible on each path. However, generating prolog inside diamond structures or loop structures will cause incorrectness or unnecessary code repetition. We propose a technique to generate efficient prolog without such problems based on Tarjan’s algorithms to detect SCCs (Strongly Connected Components) and BCCs (Bi-Connected Components).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison Wesley, 1974
A. V. Aho, R. Sethi, and J. D. Ullman, Compilers, Addison Wesley, 1988
F. E. Allen, and J. Cocke, “A Catalogue of Optimizing Transformations,” In Design and Optimization of Compilers, Prentice-Hall, 1972
K. Ebcioglu, R. D. Groves, K. C. Kim, G. M. Silberman, and I. Ziv, “VLIW Compilation Techniques in a Superscalar Environment,” ACM SIGPLAN Not., Vol.29, No.6, pp.36–48, 1994
J. Huang and D.J. Lilja, Extending Value Reuse to Basic Blocks with Compiler Support, IEEE Transactions on Computers, Vol. 49, No. 4, April 2000.
M. Lipasti, C. Wilkerson, and J. Shen, Value Locality and Load Value Prediction, Proc. Eighth Int’l Conf. Architecture Support for Programming Languages and Operating Systems, Oct. 1996.
M. Lipasti and J. Shen, Exceeding the Dataflow Limit via Value Prediction, Proc. 29th Ann. ACM/IEEE Int’l Symp. Microarchitecture, Dec. 1996.
K. O’Brien, B. Hay, J. Minish, H. Schaffer, B. Schloss, A. Shepherd, and M. Zaleski, “Advanced Compiler Technology for the RISC System/6000 Architecture,” IBM RISC System/6000 Technology, SA23-2619, IBM Corporation, 1990
R. E. Tarjan, “Depth first search and linear graph algorithms,” SIAM J. Computing, Vol.1, No.2, pp.146–160, 1972
G. Tyson and T. Austin, Improving the Accuracy and Performance of Memory Communication through Renaming, Proc. 30th Ann. Int’l Symp. Microarchitecture, Dec. 1997.
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
Jhi, YC., Kim, KC., Ebcioglu, K., Lee, Y.S. (2001). A Prolog Tailoring Technique on an Epilog Tailored Procedure. In: Bjørner, D., Broy, M., Zamulin, A.V. (eds) Perspectives of System Informatics. PSI 2001. Lecture Notes in Computer Science, vol 2244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45575-2_41
Download citation
DOI: https://doi.org/10.1007/3-540-45575-2_41
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43075-9
Online ISBN: 978-3-540-45575-2
eBook Packages: Springer Book Archive