Generation of optimal code for expressions via factorization

  • Authors:
  • Melvin A. Breuer

  • Affiliations:
  • Univ. of Southern California, Los Angeles, CA

  • Venue:
  • Communications of the ACM
  • Year:
  • 1969

Quantified Score

Hi-index 48.23

Visualization

Abstract

Given a set of expressions which are to be compiled, methods are presented for increasing the efficiency of the object code produced by first factoring the expressions, i.e. finding a set of subexpressions each of which occurs in two or more other expressions or subexpressions. Once all the factors have been ascertained, a sequencing procedure is applied which orders the factors and expressions such that all information is computed in the correct sequence and factors need be retained in memory a minimal amount of time. An assignment algorithm is then executed in order to minimize the total number of temporary storage cells required to hold the results of evaluating the factors. In order to make these techniques computationally feasible, heuristic procedures are applied, and hence global optimal results are not necessarily generated. The factorization algorithms are also applicable to the problem of factoring Boolean switching expressions and of factoring polynomials encountered in symbol manipulating systems.