Title
Optimizing Nested Loops Using Local CPS Conversion
Abstract
Local CPS conversion is a compiler transformation for improving the code generated for nested loops by a direct-style compiler that uses recursive functions to represent loops. The transformation selectively applies CPS conversion at non-tail call sites, which allows the compiler to use a single machine procedure and stack frame for both the caller and callee. In this paper, we describe LCPS conversion, as well as a supporting analysis. We have implemented Local CPS conversion in the MOBY compiler and describe our implementation. In addition to improving the performance of loops, Local CPS conversion is also used to aid the optimization of non-local control flow by the MOBY compiler. We present results from preliminary experiments with our compiler that show significant reductions in loop overhead as a result of Local CPS conversion.
Year
DOI
Venue
2002
10.1023/A:1020839128338
Higher-Order and Symbolic Computation
Keywords
Field
DocType
control flow,functional language,nested loops,code generation,continuation passing style
Loop fusion,Functional programming,Computer science,Call stack,Control flow,Parallel computing,Loop optimization,Compiler,A-normal form,Nested loop join
Journal
Volume
Issue
ISSN
15
2-3
1573-0557
Citations 
PageRank 
References 
8
0.45
18
Authors
1
Name
Order
Citations
PageRank
John H. Reppy189984.36