Speculative Predication Across Arbitrary Interprocedural Control Flow
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.
KeywordsState Machine Original State Speculative Predication Basic Block State Graph
Unable to display preview. Download preview PDF.
- [AuC98]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
- [AuH97]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
- [CoS70]J. Cocke and J.T. Schwartz, Programming Languages and Their Compilers,. Courant Institute of Mathematical Sciences, New York University, April 1970.Google Scholar
- [Die92]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
- [Die92a]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
- [DiK93]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
- [Ell85]Ellis, J.R., Bulldog: A Compiler for VLIW Architectures. MIT Press, Cambridge, MA, 1985.Google Scholar
- [NiT90]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
- [WiH91]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