Abstract:
The loop merging can be used to improve data localization. Merging
loops that share variables can speed up execution by reducing the number of
cache misses. This transformation has been known for a long time, but compilers
perform it only for the simplest cases.
Our improved algorithms use pre-transformations to correctly merge loops
with different numbers of iterations and informational dependencies.
Key words and phrases:loop fusion, optimizing compiler, program transformations, data locality, memory access optimization.