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

APT: a data structure for optimal control dependence computation

Authors Info & Claims
Published:01 June 1995Publication History

ABSTRACT

The control dependence relation is used extensively in restructuring compilers. This relation is usually represented using the control dependence graph; unfortunately, the size of this data structure can be quadratic in the size of the program, even for some structured programs. In this paper, we introduce a data structure called the augmented post-dominator tree (APT) which is constructed in space and time proportional to the size of the program, and which can answer control dependence queries in time proportional to the size of the output. Therefore, APT is an optimal representation of control dependence. We also show that using APT, we can compute SSA graphs, as well as sparse dataflow evaluator graphs, in time proportional to the size of the program. Finally, we put APT in perspective by showing that it can be viewed as a factored representation of control dependence graph in which filtered search is used to answer queries.

References

  1. ABC+88.Frances Allen, Michael Burke, Ron Cytron, Jeanne Ferrante, Wilson Hsieh, and Vivek Sarkar. A framework for determining useful parallelism. In Proceedings of the 1988 International Conference on Supercomputing, pages 207-215, St. Malo, France, July 4-8, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bal93.Thomas Ball. What's in a region? or computing control dependence regions in near-linear time for reducible control flow ACM Letters on Programming Languages and Systems, 2(t--4): 1-16, March- December 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BR91.David Bernstein and Michael Rodeh. Global instruction scheduling for superscalar machines In Proceedings of the SIGPLAN '9I Conference on Programming Language Design and Implementation, pages 241-255, Toronto, Ontario, June 26-28, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. CF93.Ron Cytron and Jeanne Ferrante. Efficiently computing qS-nodes on-the-fly. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, pages 461-476, August 1993. Published as Lecture Notes in Computer Science, number 768. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. CFR+91.R, Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. 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
  6. CFS90.Ron Cytron, Jeanne Ferrante, and Vivek Sarkar. Compact representations for control dependence In Proceedings of the SIGPLAN '90 Conference on Programming Language Design and Implementation, pages 337-351, White Plains, New York, June 20- 22, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cha86.Bernard Chazelle. Filtering search: A new approach to query answering. SIAM Journal of Computing, 15:703-724, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CicBC.Marcus Tullius Cicero. Pro L. Cornelio Balbo Oratio 39. Published by Senate of Rome, Rome, 56 BC.Google ScholarGoogle Scholar
  9. CLR92.Thomas Cormen, Charles Leiserson, and Ronald Rivest. Introduction to Algorithms. The MIT Press, Cambridge, MA, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Fis81.Josh Fisher. Trace scheduling: a technique for global microcode compaction, iEEE Transactions on Computers, 7(3):478-490, 1981.Google ScholarGoogle Scholar
  11. FOW87.J. Ferrante, K. J. Ottenstein, and J. D. Warren. The program dependency graph and its uses in optimization. A CM Transactions on Programmmg Languages and Systems, 9(3):319-349, June 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. GPS90.Rajiv Gupta, Lori Pollock, and Mary Lou Sofia. Parallelizing data flow analysis, in Proceedings of the Workshop on Parallel Compilation, Kingston, Ontario, May 6-8, 1990. Queen's University.Google ScholarGoogle Scholar
  13. GS87.Rajiv Gupta and Mary Lou Sofia Region scheduling. in 2nd International Conference on Supercomptcting, pages 141-148, 1987.Google ScholarGoogle Scholar
  14. Har85.D. Harel. A linear time algorithm for finding dominators in flowgraphs and related problems. In Proceedings of the 17th ACM Symposium on Theory of Computing, pages 185-194, Providence, Rhode Island, May 6-8, I985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. HPR87.Susan Horowitz, Jan Prins, and Thomas Reps. Integrating non-interfering versions of programs. In Conference Record of the 14th Annual ACM Symvosium on Principles of Programming Languages, pages 133-145, Munich, West Germany, January 21-23, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Joh94.Richard Johnson. Efficient Program Analysis using Dependence Flow Graphs. PhD thesis, CorneU Umversity, August 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. JP93.Richard Johnson and Keshav Pingali Dependencebased program analysis. In Proceedings of the SIG- PLAN '93 Conference on Programming Language Design and ImpIementatton, pages 78-89, Albuquerque, New Mexico, June 23-25, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. JPP94.Richard Johnson, David Pearson, and Keshav Pingali. The program structure tree: Computing control regions in linear time. In Proceedings of the SIG- PLAN '94 Conference on Programming Language Design and Implementation, pages 171-185, Orlando, Florida, June 20-24, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. LT79.Thomas Lengauer and Robert Endre Tarj an. A fast algorithm for finding dominators in a flowgraph. ACM Transactions on Programming Languages and Systems, l(1):121-141,July 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Mic68.D. Michie. 'Memo' functions and machine learning. Nature, 2 t 8: t 9-22, April 1968.Google ScholarGoogle Scholar
  21. PBJ+91.Keshav Pingali, Micah Beck, Richard Johnson, Mayan MoudgiI1, and Paul StodghiI1. Dependence Flow Graphs: An algebraic approach to program dependencies. In Conference Record of the 18th Annual A CM Symposium on Principles of Programming Languages, pages 67-78, January 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Pod93.Andy Podgurski. Reordering-transformations that preserve control dependence. Technical Report CES- 93-16, Case Western Reserve University, July 1993.Google ScholarGoogle Scholar
  23. SG95.Vugranam C. Sreedhar and Guang R. Gao. A linear time algorithm for placing (3-nodes. In Conference Record of POPL '95: 22nd ACM SIGPLAN- SIGACT Symposium on Principles of Programming Languages, pages 62-73, San Francisco, California, January 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. SGL94.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.Google ScholarGoogle Scholar
  25. SS70.R, M. Shapiro and H. Saint. The representation of algorithms. Technical Report CA-7002-1432, Massachusetts Computer Associates, February 1970.Google ScholarGoogle Scholar
  26. SS93.A. Segre and D. Scharstein. Bounded-overhead caching for definite-clause theorem proving. Journal of Automated Reasoning, 11:83-113, August 1993.Google ScholarGoogle ScholarCross RefCross Ref
  27. VEBKZ77.P. Van Emde Boas, R. Kaas, and E. Zijlstra. Design and implementation of an efficient priority queue. Mathemetical Systems Theory, 10:99-127, 1977.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. APT: a data structure for optimal control dependence computation

              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