Abstract
Guarded(predicated) execution, as a new hardware feature, has been introduced into today’s high performance processors. Guarded execution can significantly improve the performance of programs with conditional branches, and meanwhile also poses new challenges for con- ventional program analysis techniques. In this paper, we propose a static semantics inference mechanism to capture the semantics information of guards in the context of guarded code. Based on the semantics informa- tion, we extend the conventional definitions regarding program analy- sis in guarded code, and develop the related guard-aware analysis tech- niques. These analyses include control flow analysis, data dependence analysis and data flow analysis as well.
This research was partially supported by the ESPRIT IV reactive LTR project OCEANS, under contract No. 22729.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques, and Tools. Addison Wesley, 1986.
J.R. Allen, K. Kennedy, C. Portefied, and J. Warren. Conversion of control dependence to data dependence. In Proceedings of the 10th ACM Symposium on Principles of Programming Languages, pages 177–189, January 1983.
J.C. Dehnert and R.A. Towle. Compiling for the Cydra 5. Journal of Supercom-puting, 7(1/2):181–227, May 1993.
A.E. Eichenberger and E.S. Davidson. Register allocation for predicated code. In Proceedings of the 28th Annual International Symposium on Microarchitecture, pages 180–191, November 1995.
D.M. Gillies, D.R. Ju, R. Johnson, and M. Schlansker. Global predicate analy-sis and its application to register allocation. In Proceedings of the 29th Annual International Symposium on Microarchitecture, pages 114–125, December 1996.
J. Hoogerbrugge and L. Augusteijn. Instruction Scheduling for TriMedia. Journal of Instruction-Level Parallelism, 1, February 1999..
R. Johnson and M. Schlansker. Analysis techniques for predicated code. In Pro-ceedings of the 29th Annual International Symposium on Microarchitecture, pages 100–113, December 1996.
V. Kathail, M.S. Schlansker, and B.R. Rau. HPL PlayDoh architecture specifi-cation: Version 1.0. Technical Report HPL-93-80, Hewlett Packard Laboratories, February 1994.
J.C.H. Park and M. Schlansker. On predicated execution. Technical Report HPL-91-58, Hewlett Packard Software and Systems Laboratory, May1991.
B.R. Rau, W.L. Yen, and R.A. Towle. The cydra 5 departmental supercomputer. IEEE Computer, pages 12–35, January 1989.
F. Thomasset. Analyse de flots de données: introduction. Notes de cours: DEA d’Informatique, March 1999. http://www-rocq.inria.fr/~thomasse/DEA/.
N.J. Warter, S.A. Mahlke, W.W. Hwu, and B.R. Rau. Reverse if-conversion. In Proceedings SIGPLAN 1993 Conference on Programming Language Design and Implementation, pages 290–299, June 1993.
M. Wolfe. High performance compilers for parallel computing. Addison Wesley, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hu, P. (2000). Static Analysis for Guarded Code. In: Dwarkadas, S. (eds) Languages, Compilers, and Run-Time Systems for Scalable Computers. LCR 2000. Lecture Notes in Computer Science, vol 1915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40889-4_4
Download citation
DOI: https://doi.org/10.1007/3-540-40889-4_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41185-7
Online ISBN: 978-3-540-40889-5
eBook Packages: Springer Book Archive