Title :
Efficient static single assignment form for predication
Author :
Stoutchinin, Arthur ; De Ferriere, Francois
Author_Institution :
STMicroelectronics, Grenoble, France
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.
Keywords :
program compilers; program interpreters; software performance evaluation; Ψ-functions; benchmarks; predicate join points; predicated code translation; static single assignment form; Assembly; Data analysis; Flow graphs; Optimizing compilers; Performance analysis; Program processors;
Conference_Titel :
Microarchitecture, 2001. MICRO-34. Proceedings. 34th ACM/IEEE International Symposium on
Print_ISBN :
0-7965-1369-7
DOI :
10.1109/MICRO.2001.991116