Skip to main navigation Skip to search Skip to main content

On the Conversion of Indirect to Direct Recursion

  • Stony Brook University

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

Abstract

Procedure inlining can be used to convert mutual recursion to direct recursion. This allows use of optimization techniques that are most easily applied to directly recursive procedures, in addition to the well-known benefits of inlining. We present tight 1993 conditions under which inlining can transform all mutual recursion to direct recursion, and those under which heuristics to eliminate mutual recursion always terminate. We also present a technique to eliminate mutually recursive circuits that consist of only tail calls. From this, we conclude that tail recursion elimination should be interleaved with inlining.

Original languageEnglish
Pages (from-to)151-164
Number of pages14
JournalACM Letters on Programming Languages and Systems (LOPLAS)
Volume2
Issue number1-4
DOIs
StatePublished - Jan 3 1993

Keywords

  • call graphs
  • inline substitution
  • mutual recursion
  • procedure inlining
  • theory

Fingerprint

Dive into the research topics of 'On the Conversion of Indirect to Direct Recursion'. Together they form a unique fingerprint.

Cite this