skip to main content
10.1145/780732.780736acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Advanced copy propagation for arrays

Published: 11 June 2003 Publication History

Abstract

The focus of this paper is on a data flow-transformation called advanced copy propagation. After an array is assigned, we can, under certain conditions, replace a read from this array by the righthand side of the assignment. If so, the intermediate assignment can be skipped. In case it becomes dead code, it can be eliminated. Where necessary we distinguish between the different elements of arrays as well as the different runtime instances of statements, allowing us to do propagation over global loop and condition scopes. We have formalized two basic operations: non-recursive propagation that operates on two statements and recursive propagation that operates on one statement. A global algorithm uses these two operations to do propagation on code involving any number of statements. Running our prototype implementation on some multimedia kernels shows that we can get a decrease in memory acesses between 22% and 43%.

References

[1]
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley, Inc., 1986.
[2]
U. Banerjee. Dependence testing in ordinary programs. Master's thesis, Dept. of Comp. Sci., Univ. of Illinois, Nov. 1976.
[3]
F. Catthoor, S. Wuytack, E. De Greef, F. Balasa, L. Nachtergaele, and A. Vandecappelle. Custom Memory Management Methodology: Exploration of Memory Organisation for Embedded Multimedia System Design. Kluwer Academic Publishers, 1998.
[4]
K. Danckaert. Loop transformations for data transfer and storage reduction on multiprocessor systems. PhD thesis, K.U.Leuven, 2001.
[5]
E. De Greef, F. Catthoor, and H. De Man. Memory size reduction through storage order optimization for embedded parallel multimedia applications. In Proceedings of the Workshop on Parallel Processing and Multimedia of the International Parallel Processing Symposium, pages 84--98, 1997.
[6]
P. Feautrier. Dataflow analysis of array and scalar references. International Journal of Parallel Programming, 20(1):23--53, 1991.
[7]
M. W. Hall, J. M. Anderson, S. P. Amarasinghe, B. R. Murphy, S.-W. Liao, E. Bugnion, and M. S. Lam. Maximizing multiprocessor performance with the suif compiler. In IEEE Computer, December 1996.
[8]
J. Hennessy and D. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, San Francisco, CA, 1996.
[9]
B. Kienhuis. Matparser: An array dataflow analysis compiler. Technical report, University of California, Berkeley, February 2000.
[10]
J. Knoop, O. Ruthing, and B. Steffen. Partial dead code elimination. In SIGPLAN Conference on Programming Language Design and Implementation, pages 147--158, 1994.
[11]
H. Kung and C. Leiserson. Systolic arrays for VLSI. In Sparse Matrix Proceedings, pages 245--282, Philadelphia:SIAM, 1978.
[12]
S. Muchnick. Advanced compiler design & implementation. Morgan Kaufmann Publishers, San Francisco, CA, 1997.
[13]
W. Pugh. The Omega test: A fast and practical integer programming algorithm for dependence analysis. In Proceedings of Supercomputing '91, Albuquerque, NM, 1991.
[14]
F. Quiller'e and S. Rajopadhye. Optimizing memory usage in the polyhedral model. ACM Transactions on Programming Languages, 22(5):773--815, September 2000.
[15]
P. Quinton, S. Rajopadhye, and T. Risset. On manipulating Z-polyhedra. Technical report, Institut de Recherche en Informatique et Systemes Aleatoires, 1996.
[16]
L. Thiele and U. Artz. On the synthesis of massively parallel architectures. International journal of high speed electronics and systems, 4(2):99--131, 1993.
[17]
R. Tronccon, M. Bruynooghe, G. Janssens, and F. Catthoor. Storage size reduction by in-place mapping of arrays. In A. Cortesi, editor, Verification, Model Checking and Abstract Interpretation, Third Int.A Java Virtual Machine Architecture for Very Small Devices Workshop, VMCAI 2002, Revised Papers, volume 2294 of LNCS, pages 167--181. Springer-Verlag, 2002.
[18]
M. Wegman and K. Zadeck. Constant propagation with conditional branches. ACM Transactions on Programming Languages and Systems, 13(2):181--210, April 1991.

Cited By

View all

Index Terms

  1. Advanced copy propagation for arrays

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
    June 2003
    304 pages
    ISBN:1581136471
    DOI:10.1145/780732
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 38, Issue 7
      Special Issue: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems (San Diego, CA).
      July 2003
      293 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/780731
      Issue’s Table of Contents
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 June 2003

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. arrays
    2. copy propagation
    3. optimization
    4. single assignment

    Qualifiers

    • Article

    Conference

    LCTES03
    Sponsor:

    Acceptance Rates

    LCTES '03 Paper Acceptance Rate 29 of 128 submissions, 23%;
    Overall Acceptance Rate 116 of 438 submissions, 26%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 28 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media