Skip to main content

Static Analysis for Guarded Code

  • Conference paper
  • First Online:
Languages, Compilers, and Run-Time Systems for Scalable Computers (LCR 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1915))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques, and Tools. Addison Wesley, 1986.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. J.C. Dehnert and R.A. Towle. Compiling for the Cydra 5. Journal of Supercom-puting, 7(1/2):181–227, May 1993.

    Article  Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. J. Hoogerbrugge and L. Augusteijn. Instruction Scheduling for TriMedia. Journal of Instruction-Level Parallelism, 1, February 1999..

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. J.C.H. Park and M. Schlansker. On predicated execution. Technical Report HPL-91-58, Hewlett Packard Software and Systems Laboratory, May1991.

    Google Scholar 

  10. B.R. Rau, W.L. Yen, and R.A. Towle. The cydra 5 departmental supercomputer. IEEE Computer, pages 12–35, January 1989.

    Google Scholar 

  11. F. Thomasset. Analyse de flots de données: introduction. Notes de cours: DEA d’Informatique, March 1999. http://www-rocq.inria.fr/~thomasse/DEA/.

  12. 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.

    Google Scholar 

  13. M. Wolfe. High performance compilers for parallel computing. Addison Wesley, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics