Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Expression optimization using unary complement operators

Published: 01 July 1970 Publication History
  • Get Citation Alerts
  • Abstract

    For purposes of code optimization there are two basic philosophies of expression analysis: one approach would attempt to do a relatively complete analysis, detecting all redundancies which are logically possible. The other approach would aim at those things which are easily detected and/or highly likely to occur. This paper gives a set of algorithms which derive from the latter philosophy but which are based on general properties rather than specific facts about a particular language or machine.
    The first section of the paper gives details of a notation used for describing code and defining algorithms. The most significant feature of this notation is that it allows operands to be complemented by any number of “complement operators”. This is done because most of the algorithms make frequent use of the properties of such operators. The second section describes a canonical form for expressions and a series of algorithms based on this form and the properties of complement operators. There are various facets of compiler structure which might bear on the exact usage of these algorithms. Although such considerations are not part of the scope of this paper, occasional comments are made about the relationship of an algorithm to other parts of a compiler. The third section contains a discussion of how these algorithms would fit within an overall optimizer structure.

    References

    [1]
    Busan and Eglund. "Optimization of Expressions in Fortran" (CACM, January, 1969, p. 666)
    [2]
    IBM. System/360 Operating. System, Fortran IV (H).Program Logic Manual. (Restricted Distribution, no. Y20-0012-0)
    [3]
    Schwartz, Cocke. Programming Languages and their Compilers, preliminary notes. (Courant Institute, NYU)

    Cited By

    View all
    • (2008)Redundancy elimination revisitedProceedings of the 17th international conference on Parallel architectures and compilation techniques10.1145/1454115.1454120(12-21)Online publication date: 25-Oct-2008
    • (1994)Effective partial redundancy eliminationACM SIGPLAN Notices10.1145/773473.17825729:6(159-170)Online publication date: 1-Jun-1994
    • (1994)Effective partial redundancy eliminationProceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation10.1145/178243.178257(159-170)Online publication date: 1-Aug-1994
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 5, Issue 7
    Proceedings of a symposium on Compiler optimization
    July 1970
    130 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/390013
    Issue’s Table of Contents
    • cover image ACM Conferences
      Proceedings of a symposium on Compiler optimization
      July 1970
      130 pages
      ISBN:9781450373869
      DOI:10.1145/800028

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 July 1970
    Published in SIGPLAN Volume 5, Issue 7

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)77
    • Downloads (Last 6 weeks)5

    Other Metrics

    Citations

    Cited By

    View all
    • (2008)Redundancy elimination revisitedProceedings of the 17th international conference on Parallel architectures and compilation techniques10.1145/1454115.1454120(12-21)Online publication date: 25-Oct-2008
    • (1994)Effective partial redundancy eliminationACM SIGPLAN Notices10.1145/773473.17825729:6(159-170)Online publication date: 1-Jun-1994
    • (1994)Effective partial redundancy eliminationProceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation10.1145/178243.178257(159-170)Online publication date: 1-Aug-1994
    • (1977)The switching reverse polise algorithmACM SIGPLAN Notices10.1145/954604.95461412:9(114-123)Online publication date: 1-Sep-1977
    • (1976)An interactive program advising systemACM SIGCUE Outlook10.1145/953026.80349510:SI(335-341)Online publication date: 1-Feb-1976
    • (1976)An interactive program advising systemACM SIGCSE Bulletin10.1145/952989.8034958:1(335-341)Online publication date: 1-Feb-1976
    • (1976)An interactive program advising systemProceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education10.1145/800107.803495(335-341)Online publication date: 1-Feb-1976
    • (1974)A methodology for machine language decompilationProceedings of the 1974 annual conference - Volume 110.1145/800182.810410(254-260)Online publication date: 1-Jan-1974
    • (1974)OptimizationCompiler Construction10.1007/978-3-662-21549-4_21(549-602)Online publication date: 1974
    • (1974)Compiler constructionundefinedOnline publication date: 1-Jan-1974
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media