Loop headers in λ-calculus or CPS

Research output: Contribution to journalArticlepeer-review

8 Scopus citations

Abstract

The introduction of a "loop header" block facilitates the hoisting of loop-invariant code from a loop. In a λ-calculus intermediate representation, which has a notion of scope, this transformation is particularly useful. Loop headers with scope also solve a problem with in-line expansion of recursive functions or loops: if done naively, only the first iteration is inlined. A loop header can encapsulate the loop or recursion for better in-line expansion. This optimization improves performance by about 5% in Standard ML of New Jersey.

Original languageEnglish (US)
Pages (from-to)337-343
Number of pages7
JournalLISP and Symbolic Computation
Volume7
Issue number4
DOIs
StatePublished - Dec 1994

All Science Journal Classification (ASJC) codes

  • General Computer Science

Keywords

  • compiler
  • continuation-passing style
  • in-line expansion
  • lambda-calculus
  • loop header
  • optimization

Fingerprint

Dive into the research topics of 'Loop headers in λ-calculus or CPS'. Together they form a unique fingerprint.

Cite this