A correspondence between continuation passing style and static single assignment form

  • Authors:
  • Richard A. Kelsey

  • Affiliations:
  • NEC Research Institute

  • Venue:
  • IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

We define syntactic transformations that convert continuation passing style (CPS) programs into static single assignment form (SSA) and vice versa. Some CPS programs cannot be converted to SSA, but these are not produced by the usual CPS transformation. The CPS→SSA transformation is especially helpful for compiling functional programs. Many optimizations that normally require flow analysis can be performed directly on functional CPS programs by viewing them as SSA programs. We also present a simple program transformation that merges CPS procedures together and by doing so greatly increases the scope of the SSA flow information. This transformation is useful for analyzing loops expressed as recursive procedures.