skip to main content
10.1145/207110.207115acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Efficient building and placing of gating functions

Authors Info & Claims
Published:01 June 1995Publication History

ABSTRACT

In this paper, we present an almost-linear time algorithm for constructing Gated Single Assignment (GSA), which is SSA augmented with gating functions at ø-nodes. The gating functions specify the control dependences for each reaching definition at a ø-node. We introduce a new concept of gating path, which is path in the control flow graph from the immediate dominator u of a node v to v, such that every node in the path is dominated by u. Previous algorithms start with ø-function placement, and then traverse the control flow graph to compute the gating functions. By formulating the problem into gating path construction, we are able to identify not only a ø-node, but also a gating path expression which defines a gating function for the ø-node.

References

  1. ASU86.A. V. Aho, R. Sethi, and I.D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AWZ88.B. Alpern, M. N. Wegman, and F. K. Zadeck. Detecting equality of variables in programs. In Proc. of the 15th A UM Symposium on Princzples of Programming Languages, pages 1-11, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BE94.William Blume and Rudolf Eigenmann. The range test: A dependence test for symbolic, non-linear expressions. In Proceedings of Super. computing '9~, November 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BEF+94.Bill Bhme, Rudolf Eigenmann, Keith FMgin, John Grout, Jay Hoefiinger, David Padua, Paul Petersen, Bill Pottenger, Lawrence Rauchwerger, Peng Tu, and Stephen Weatherford. Polaris: The next generation in parallelizing compilers. In Proc. 7th Workshop on Programming Languages and Compilers for Parallel Computing, August 1994.Google ScholarGoogle Scholar
  5. BMO90.R. Ballance, A. Maccabe, and K. Ottenstein. The program dependence web: a representation supporting control-, data-, and demanddriven interpretation of imperative languages. In Proceedings of the SIGPLAN'90 Conference on Programming Language Design and Impleraentatzon, pages 257-271, June 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CFR+91.Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, 13(4):451-490, October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CKPK90.George Cybenko, Lyle Kipp, Lynn Pointer, and David Kuck. Supercomputer performance evaluation and the perfect benchmarks. In Proceedings of }US, Amsterdam, Netherlands, pages 162-174, March 1990.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Far77.R. Farrow. Efficient on-line evaluation of functions defined on paths in trees. Technical report, Rice University, Dept. Math. Sci., 1977.Google ScholarGoogle Scholar
  9. FOW87.J. Ferrante, K. J. Ottenstein, and J. D. Warren. The program dependency graph and its uses in optimization. A CM Transactions on Programming Languages and Systems, 9(3):319- 349, June 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Har85.P. Hard. A linear time algorithm for finding dominators in flowgraphs and related problems. In Proc. of the 17th A CM Symposium on Theory of Computing, May 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hav93.P~ul Ilavlak. Construction of thinned gated single-assignment form. In Proc. 6rd Workshop on Programmzng Languages and Compilers for Parallel Computing, August 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. JP93.R. Johnson and K. Pingali. Dependence-based program analysis. In Proc. the SIGPLAN '93 Conference on Program Language Design and Irapleraentat,on, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. JPP94.R. Johnson, D. Pearson, and K. Pingali. The program structure tree: Computing control regions in linear time. In Proc. the SIGPLAN '94 Conference on Program Language Design and Implementation, June 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. LT79.Thomas Lengauer and Robert Endre Tarjan. A fast algorithm for finding dominators in a flowgraph. A CM Transactions on Programming Languages and Systems, 1(1):121-141, July t979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. RWZ88.B.K. Rosen, M. N. Wegman, and F. K. Zadeck. Global value numbers and redundant computation. In Proc. o/the 15th A UM Symposium on Principles of Programming Languages, pages 12-27, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. SG94.V.C. Sreedhar and G.R. Gao. Computing ~- nodes in linear time using dj-graph. Technical Report Technical Report,ACAPS Technical Memo 75, McGill University, School of Computer Science, January 1994.Google ScholarGoogle Scholar
  17. Tar79.Robert Endre Tarjan. Applications of path compression on balanced trees. Journal o/A CM, 26(4):690-715, October 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Tar81a.Robert Endre Tarjan. Fast algorithm for solving path problems. Journal of the A UM, 28(3):594- 614, July 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Tar81b.Robert Endre Tarjan. A unified approach to path problems. Journal o/the A UM, 28(3):577- 593, July 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. TP93.Peng Tu and David Padua. Automatic array privatization. In Proc. 6rd Workshop on Programming Languages and Compilers/or Parallel Computing, August 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. TP95.Peng Tu and David Padua. GSA based demanddriven symbolic analysis for parallelizing compilers. In Proc. A CM 1995 International Conference on Supercomputing, July 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Wol92.Michael Wolfe. Beyond induction variables. Proc. the S}GPLAN'92 Conference on Programming Language Design and }mplementation, June 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. WZ91.M.N. Wegman and F. K. Zadeck. Constant propagation with conditional branches. A CM Transactions on Programming Languages and Systems, 13(2):181-210, April 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    PLDI '95: Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
    June 1995
    335 pages
    ISBN:0897916972
    DOI:10.1145/207110

    Copyright © 1995 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 June 1995

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    PLDI '95 Paper Acceptance Rate28of105submissions,27%Overall Acceptance Rate406of2,067submissions,20%

    Upcoming Conference

    PLDI '24

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader