ACM Home Page
Please provide us with feedback. Feedback
A practical and fast iterative algorithm for φ-function computation using DJ graphs
Full text PdfPdf (227 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 27 ,  Issue 3  (May 2005) table of contents
Pages: 426 - 440  
Year of Publication: 2005
ISSN:0164-0925
Authors
Dibyendu Das  Hewlett Packard India Software Operations, Bangalore, India
U. Ramakrishna  Colorado State University, Fort Collins, CO
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 64,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1065887.1065890
What is a DOI?

ABSTRACT

We present a new and practical method of computing φ-function for all variables in a function for Static Single Assignment (SSA) form. The new algorithm is based on computing the Merge set of each node in the control flow graph of a function (a node here represents a basic block and the terms will be used interchangeably). Merge set of a node n is the set of nodes N, where φ-functions may need to be placed if variables are defined in n. It is not necessary for n to have a definition of a variable in it. Thus, the merge set of n is dictated by the underlying structure of the CFG. The new method presented here precomputes the merge set of every node in the CFG using an iterative approach. Later, these merge sets are used to carry out the actual φ-function placement. The advantages are in examples where dense definitions of variables are present (i.e., original definitions of variables---user defined or otherwise, in a majority of basic blocks). Our experience with SSA in the High Level Optimizer (optimization levels +O3/+O4) shows that most examples from the Spec2000 benchmark suite require a high percentage of basic blocks to have their φ points computed. Previous methods of computing the same relied on the dominance frontier (DF) concept, first introduced by Cytron et al. The method presented in this paper gives a new effective iterative solution to the problem. Also, in cases, where the control flow graph does not change, our method does not require any additional computation for new definitions introduced as part of optimizations. We present implementation details with results from Spec2000 benchmarks. Our algorithm runs faster than the existing methods used.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
 
4
5
 
6
7
 
8
Reif, J. H. and Tarjan, R. E. 1982. Symbolic program analysis in almost-linear time. SIAM J. Comput. 11, 1, 81--93.
9
 
10
Shapiro, R. M. and Saint, H. 1970. The representation of algorithms. Tech. Rep., Massachusetts Computer Associates, Feb.
 
11
12
13



REVIEW

"R. Clayton : Reviewer"

A standard way to reduce the time taken by a multi-pass algorithm is to reduce the number of passes made by the algorithm. The multi-pass algorithm for placing phi functions in a static, single assignment-based control flow graph (CFG) has been un  more...

Collaborative Colleagues:
Dibyendu Das: colleagues
U. Ramakrishna: colleagues