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. © 1993, ACM. All rights reserved.
CITATION STYLE
Kaser, O., Ramakrishnan, C. R., & Pawagi, S. (1993). On the Conversion of Indirect to Direct Recursion. ACM Letters on Programming Languages and Systems (LOPLAS), 2(1–4), 151–164. https://doi.org/10.1145/176454.176510
Mendeley helps you to discover research relevant for your work.