An Implementation of Loop Fusion Using Simple-SUIF
Abstract
Loop fusion is a compiler optimization that merges the bodies of multiple loops into a single loop. Doing so in a serial program can reduce the loop overhead of the pro- gram as well as improve data locality and increase oppor- tunities for better cache utilization. Although not explored in this paper, it should be noted that loop fusion has been proven beneficial as well in parallel programs (11).
References (11)
- Alain Darte. On the complexity of loop fusion. Par- allel Computing, 26(9):1175-1193, 2000.
- Charles Fischer. Finding loops in control flow graphs.
- Charles Fischer. Cs701 final exam, December 1996.
- G. Gao, R. Olsen, V. Sarkar, and R. Thekkath. Col- lective loop fusion for array contraction. Technical report, School of Computer Science, McGill Univer- sity, March 1992.
- Stanford Compiler Group. The simple-suif compiler guide.
- K. Kennedy and K. S. M c Kinley. Loop distribution with arbitrary control flow. In Proceedings of Super- computing '90, New York, NY, 1990.
- Elefherios Koutsofios and Stephen C. North. Draw- ing graphs with dot.
- James Larus. A quick program profiling and tracing system.
- N. Manjikian and T. Abdelrahman. Fusion of loops for parallelism and locality. 1995.
- Phillip Mucci and Kevin London. Performance op- timization for the origin 2000, September 1998.
- S. Singhai and K. McKinley. Loop fusion for data locality and parallelism. In Proceedings of the Mid- Atlantic Student Workshop on Programming Lan- guages and Systems, New Paltz, April 1996.