Skip to main content

Speculative Predication Across Arbitrary Interprocedural Control Flow

  • Conference paper
  • First Online:

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

Abstract

The next generation of microprocessors, particularly IA64, will incorporate hardware mechanisms for instruction-level predication in support of speculative parallel execution. However, the compiler technology proposed in support of this speculation is incapable of speculating across loops or procedural boundaries (function call and return). In this paper, we describe compiler technology that can support instruction-level speculation across arbitrary control flow and procedural boundaries. Our approach is based on the concept of converting a conventional control flow graph into a meta state graph in which each meta state represents a set of original states speculatively executed together.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. David I. August, Daniel A. Connors, Scott A. Mahlke, John W. Sias, Kevin M. Crozier, Ben-Chung Cheng, Patrick R. Eaton, Qudus B. Olaniran, and Wen-mei W. Hwu, “Integrated Predicated and Speculative Execution in the IMPACT EPIC Architecture,” Proceedings of the 25th International Symposium on Computer Architecture, July 1998.

    Google Scholar 

  2. David I. August, Wen-mei W. Hwu, and Scott A. Mahlke, “A Framework for Balancing Control Flow and Predication,” Proceedings of the 30th International Symposium on Microarchitecture, December 1997.

    Google Scholar 

  3. J. Cocke and J.T. Schwartz, Programming Languages and Their Compilers,. Courant Institute of Mathematical Sciences, New York University, April 1970.

    Google Scholar 

  4. H.G. Dietz, “Coding Multiway Branches Using Customized Hash Functions,” Technical Report TR-EE 92-31, School of Electrical Engineering, Purdue University, July 1992.

    Google Scholar 

  5. H.G. Dietz, “Common Subexpression Induction,” Proceedings of the 1992 International Conference on Parallel Processing, Saint Charles, Illinois, August 1992, vol. II, pp. 174–182.

    Google Scholar 

  6. H. G. Dietz and G. Krishnamurthy, “Meta-State Conversion,” Proceedings of the 1993 International Conference on Parallel Processing, vol. II, pp. 47–56, Saint Charles, Illinois, August 1993.

    Google Scholar 

  7. Ellis, J.R., Bulldog: A Compiler for VLIW Architectures. MIT Press, Cambridge, MA, 1985.

    Google Scholar 

  8. M. Nilsson and H. Tanaka, “MIMD Execution by SIMD Computers,” Journal of Information Processing, Information Processing Society of Japan, vol. 13, no. 1, 1990, pp. 58–61.

    Google Scholar 

  9. P.A. Wilsey, D.A. Hensgen, C.E. Slusher, N.B. Abu-Ghazaleh, and D.Y. Hollinden, “Exploiting SIMD Computers for Mutant Program Execution,” Technical Report No. TR 133-11-91, Department of Electrical and Computer Engineering, University of Cincinnati, Cincinnati, Ohio, November 1991.

    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

Dietz, H.G. (2000). Speculative Predication Across Arbitrary Interprocedural Control Flow. In: Carter, L., Ferrante, J. (eds) Languages and Compilers for Parallel Computing. LCPC 1999. Lecture Notes in Computer Science, vol 1863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44905-1_27

Download citation

  • DOI: https://doi.org/10.1007/3-540-44905-1_27

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67858-8

  • Online ISBN: 978-3-540-44905-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics