Optimizing Translation Out of SSA Using Renaming Constraints

  • Authors:
  • F. Rastello;F. de Ferrière;C. Guillon

  • Affiliations:
  • -;-;-

  • Venue:
  • Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Static Single Assignment form is an intermediate representationthat usesinstructions to merge values ateach confluent point of the control flow graph. instructionsare not machine instructions and must be renamedback to move instructions when translating out of SSAform.Without a coalescing algorithm, the out of SSAtranslation generates many move instructions.Leung andGeorge use a SSA form for programs represented as native machine instructions, including the use of machinededicated registers.For this purpose, they handlerenaming constraints thanks to a pinning mechanism.Pinningarguments and their corresponding definitionto a common resource is also a very attractive techniquefor coalescing variables.In this paper, extending thisidea, we propose a method to reduce the -related copiesduring the out of SSA translation, thanks to a pinning-basedcoalescing algorithm that is aware of renaming constraints.We implemented our algorithm in the STMicro-electronicsLinear Assembly Optimizer.Our experimentsshow interesting results when comparing to the existingapproaches of Leung and George, Sreedhar etal., and Appel and George for register coalescing.