Title of article
Eliminating Redundant Join-Set Computations in Static Single Assignment
Author/Authors
French, Angela University of Alberta - Department of Computing Science, Canada , Nelson Amaral, Jose University of Alberta - Department of Computing Science, Canada
From page
1007
To page
1019
Abstract
The seminal algorithm developed by Ron Cytron, Jeanne Ferrante and colleagues in 1989 for the placement of φ-nodes in a control flow graph is still widely used in commercial compilers. Placing φ-nodes is necessary when converting a program representation to Static Single Assignment (SSA) form. This paper shows that if a variable x is defined in a set of basic blocks A(x), then the iterated join set of A(x) can be decomposed into the computation of the iterated join set of a disjoint collection of subsets of A(x). We use this result to show that some join set computations are redundant. We measured the number of redundant computations in the Open Research Compiler (ORC) in a selection of SPEC 2000 benchmarks.
Keywords
SSA , compiler optimization
Journal title
Journal of J.UCS (Journal of Universal Computer Science)
Journal title
Journal of J.UCS (Journal of Universal Computer Science)
Record number
2660605
Link To Document