Affiliation:
1. State Univ. of New York, Stony Brook
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 (necessary
and
sufficient) 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.
Publisher
Association for Computing Machinery (ACM)
Reference14 articles.
1. BALL J. 1982. Program improvement by the selective integration of procedure calls. Ph.D. thesis Univ. of Rochester Rochester N.Y. BALL J. 1982. Program improvement by the selective integration of procedure calls. Ph.D. thesis Univ. of Rochester Rochester N.Y.
2. Profile-guided automatic inline expansion for C programs
3. A study of a C function inliner
4. Compile-time program restructuring in multiprogrammed virtual memory systems
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献