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

Index Terms

  1. Efficient building and placing of gating functions

            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