Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/582153.582167acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Eliminating redundant object code

Published: 25 January 1982 Publication History

Abstract

Compilers usually eliminate common subexpressions in intermediate code, not object code. This reduces machine-dependence but misses the machine-dependent common subexpressions introduced by the last phases of code expansion. This paper describes a machine-independent procedure for eliminating machine-specific common subexpressions. It also identifies dead variables, defines windows for a companion peephole optimizer, and forms the basis of a retargetable register allocator. Its techniques for handling machine-specific data should generalize to other optimizations as well.

References

[1]
A. V. Aho and J. D. Ullman. Principles of Compiler Design. Addison-Wesley, 1977.
[2]
C. G. Bell and A. Newell. Computer Structures: Readings and Examples. McGraw-Hill, 1971.
[3]
R. G. G. Cattell. Automatic derivation of code generators from machine descriptions. ACM Transactions on Programming Languages and Systems 2(2):173--190, April 1980.
[4]
G. J. Chaitin, M. A. Auslander, A. K. Chandra, J. Cocke, M. E. Hopkins, and P. W. Markstein. Register allocation via coloring. Computer Languages 6(1):47--57, January 1981.
[5]
J. W. Davidson and C. W. Fraser. The design and application of a retargetable peephole optimizer. ACM Transactions on Programming Languages and Systems 2(2):191--202, April 1980.
[6]
R. A. Freiburghouse. Register allocation via usage counts. Communications of the ACM 17(11):638--642, November 1974.
[7]
R. S. Glanville and S. L. Graham. A new method for compiler code generation. Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages:231--240, January 1978.
[8]
D. Gries. Compiler Construction for Digital Computers. Wiley, 1971.
[9]
D. R. Hanson. The Y programming language. SIGPLAN Notices 16(2):59--68, February 1981.
[10]
B. W. Kernighan and D. M. Ritchie. The C Programming Language. Prentice-Hall, 1978.
[11]
R. L. Sites. Machine-independent register allocation. SIGPLAN Notices 14(8):221--225, August 1979.
[12]
W. Wulf, R. K. Johnsson, C. B. Weinstock, S. O. Hobbs, and C. M. Geschke. The Design of an Optimizing Compiler. American Elsevier, 1975.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '82: Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 1982
378 pages
ISBN:0897910656
DOI:10.1145/582153
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: 25 January 1982

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

POPL '82 Paper Acceptance Rate 38 of 121 submissions, 31%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)2
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2007)Selection of Optimal Computing Platforms through the Suitability MeasureProceedings of the Sixth International Symposium on Parallel and Distributed Computing10.1109/ISPDC.2007.47Online publication date: 5-Jul-2007
  • (2004)Automatic generation of peephole optimizationsACM SIGPLAN Notices10.1145/989393.98940739:4(104-111)Online publication date: 1-Apr-2004
  • (1988)Composition and evaluation of attribute coupled grammarsActa Informatica10.1007/BF0273710825:4(355-423)Online publication date: 1-May-1988
  • (1986)An Instruction Issuing Approach to Enhancing Performance in Multiple Functional Unit ProcessorsIEEE Transactions on Computers10.1109/TC.1986.167684135:9(815-828)Online publication date: 1-Sep-1986
  • (1984)PeepACM SIGPLAN Notices10.1145/502949.50288419:6(106-110)Online publication date: 1-Jun-1984
  • (1984)PeepProceedings of the 1984 SIGPLAN symposium on Compiler construction10.1145/502874.502884(106-110)Online publication date: 17-Jun-1984
  • (1984)Code selection through object code optimizationACM Transactions on Programming Languages and Systems10.1145/1780.17836:4(505-526)Online publication date: 1-Oct-1984

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