ACM Home Page
Please provide us with feedback. Feedback
A linear time algorithm for placing &phgr;-nodes
Full text PdfPdf (1.35 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, United States
Pages: 62 - 73  
Year of Publication: 1995
ISBN:0-89791-692-1
Authors
Vugranam C. Sreedhar  School of Computer Science, McGill University, Montreal H3A 2A7, Canada
Guang R. Gao  School of Computer Science, McGill University, Montreal H3A 2A7, Canada
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 38,   Citation Count: 23
Additional Information:

abstract   references   cited by   index terms   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/199448.199464
What is a DOI?

ABSTRACT

Dataflow analysis framework based on Static Single Assignment (SSA) form and Sparse Evaluation Graphs (SEGs) demand fast computation of program points where data flow information must be merged, the so-called &fgr;-nodes. In this paper, we present a surprisingly simple algorithm for computing &fgr;-nodes for arbitrary flowgraphs (reducible or irreducible) that runs in linear time. We employ a novel program representation—the DJ graph—by augmenting the dominator tree of a flowgraph with edges which may lead to a potential “merge” of dataflow information. In searching for &fgr;-nodes we never visit an edge in the DJ-graph more than once by guiding the search of nodes by their levels in the dominator tree.The algorithm has been implemented and the results are compared with the well known algorithm due to Cytron et al. A consistent and significant speedup has been observed over a range of 46 Fortran procedures taken from a number of benchmark programs. We also ran experiments on increasingly taller ladder graphs and confirmed the linear time complexity of our algorithm.


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.

AWZ88
BMO90
 
Bri92
CCF91
 
CF87
Ron Cytron and Jeanne Ferrante. What's in a name? or the value of renaming for parallelism detection and storage allocation. In Proceedings of the 1987 International Conference on Parallel Processing, pages 19-27, St. Charles, Illinois, August 17-21,1987.
 
CF93
CFR+89
CFR+91
CFS90
CLZ86
Har85a
 
Har85b
William Harrison. An overview of the structure of Parafrase. Technical Report 501, PR-85-2 UILU-ENG-85-8002, UIUC, July 1985.
JP93
JPP94
 
RT82
J.H. Reif and Robert Tarjan. Symbolic program analysis in almost linear time. SIAM Journal of Computing, 11(1):81-93, February 1982.
RWZ88
 
SG94
Vugranam C. Sreedhar and Guang R. Gao. Computing #b-nodes in linear time using DJ-graphs. Technical Report ACAPS Memo 75, School of Computer Science, McGill University, january 1994. Submitted for publication.
 
SGL94a
Vugranam C. Sreedhar, Guang R. Gao, and Yongfong Lee. DJ-graphs and their applications to flowgraph analyses. Technical Report ACAPS Memo 70, McGill University, May 1994. Submitted for publication.
 
SGL94b
Vugranam C. Sreedhar, Guang R. Gao, and Yongfong Lee. An efficient incremental algorithm for maintaining dominator trees and its application to C-nodes update. Technical Report ACAPS Memo 77, McGill University, July 1994. Submitted for publication.
 
SS70
R.M. Shapiro and H. Saint. The representation of algorithm. Technical Report CA-7002-1432, MCA, 1970.
WCES94
Wei92
Wol92
WZ85

CITED BY  23

Collaborative Colleagues:
Vugranam C. Sreedhar: colleagues
Guang R. Gao: colleagues