Eliminating redundant object code

  • Authors:
  • Jack W. Davidson;Christopher W. Fraser

  • Affiliations:
  • University of Arizona, Tucson, AZ;University of Arizona, Tucson, AZ

  • Venue:
  • POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

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.