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 language | English |
|---|---|
| Pages (from-to) | 151-164 |
| Number of pages | 14 |
| Journal | ACM Letters on Programming Languages and Systems (LOPLAS) |
| Volume | 2 |
| Issue number | 1-4 |
| DOIs | |
| State | Published - 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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver