Phase coupling and constant generation in an optimizing microcode compiler

  • Authors:
  • Steven R. Vegdahl

  • Affiliations:
  • Computer Science Department, Carnegie-Mellon University, Pittsburgh, PA

  • Venue:
  • MICRO 15 Proceedings of the 15th annual workshop on Microprogramming
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

Abstract

The designer of an optimizing compiler must concern himself with the order in which optimization phases are performed; a pair of phases may be interdependent in the sense that each phase could benefit from information produced by the other. In a compiler for a horizontal target architecture, one such phase-ordering problem occurs between code-generation and compaction. Presented here is an overview of a research effort at Carnegie-Mellon University which has examined solutions to this problem. One aspect of the code generation problem-that of generating constants “intelligently”-is discussed in detail. A technique, called constant-unfolding, is described that can be used to produce code sequences that generate constants in “unusual” ways during execution; such code sequences can lead to more compact code when the literal field of the microinstruction is a “bottleneck”.