A compiler framework for speculative analysis and optimizations

Jin Lin, Tong Chen, Wei Chung Hsu, Pen Chung Yew, Roy Dz Ching Ju, Tin Fook Ngai, Sun Chan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

31 Scopus citations

Abstract

Speculative execution, such as control speculation and data speculation, is an effective way to improve program performance. Using edge/path profile information or simple heuristic rules, existing compiler frameworks can adequately incorporate and exploit control speculation. However, very little has been done so far to allow existing compiler frameworks to incorporate and exploit data speculation effectively in various program transformations beyond instruction scheduling. This paper proposes a speculative SSA form to incorporate information from alias profiling and/or heuristic rules for data speculation, thus allowing existing program analysis frameworks to be easily extended to support both control and data speculation. Such a general framework is very useful for EPIC architectures that provide checking (such as advanced load address table (ALAT) [10]) on data speculation to guarantee the correctness of program execution. We use SSAPRE [21] as one example to illustrate how to incorporate data speculation in those important compiler optimizations such as partial redundancy elimination (PRE), register promotion, strength reduction and linear function test replacement. Our extended framework allows both control and data speculation to be performed on top of SSAPRE and, thus, enables more aggressive speculative optimizations. The proposed framework has been implemented on Intel's Open Research Compiler (ORC). We present experimental data on some SPEC2000 benchmark programs to demonstrate the usefulness of this framework and how data speculation benefits partial redundancy elimination.

Original languageEnglish (US)
Title of host publicationProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Pages289-299
Number of pages11
StatePublished - Jul 28 2003
EventACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, CA, United States
Duration: Jun 9 2003Jun 11 2003

Other

OtherACM SIGPLAN Conference on Programming Language Design and Implementation
Country/TerritoryUnited States
CitySan Diego, CA
Period6/9/036/11/03

Keywords

  • Data speculation
  • Partial redundancy elimination
  • Register promotion
  • Speculative SSA form
  • Speculative weak update

Fingerprint

Dive into the research topics of 'A compiler framework for speculative analysis and optimizations'. Together they form a unique fingerprint.

Cite this