Efficient static single assignment form for predication

  • Authors:
  • Arthur Stoutchinin;Francois de Ferriere

  • Affiliations:
  • STMicroelectronics, 12, rue Jules Horowitz, Grenoble, France;STMicroelectronics, 12, rue Jules Horowitz, Grenoble, France

  • Venue:
  • Proceedings of the 34th annual ACM/IEEE international symposium on Microarchitecture
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a framework that allows translation of predicated code into the static single assignment (SSA) form, and simplifies application of the SSA-based optimizations to predicated code. In particular, we represent predicate join points in the program by the Ψ-functions similar to the Φ-functions of the basic SSA. The SSA-based optimizations (such as constant propagation) can be applied to predicated code by simply specifying additional rules for processing the Ψ-functions. We present efficient algorithms for constructing, and then for removing the Ψ-functions at the end of SSA processing. Our algorithm for translating out of the Ψ-SSA splits predicated live ranges into smaller live ranges active under disjoint predicates. The experimental evaluation on a set of predicated benchmarks demonstrates efficiency of our approach.