Skip to Main Content
We present the design and implementation of an inter-procedural loop fusion, array contraction and rotation technique in a production compiler. We provide experimental results to show that this technique improves SPECfp2000 benchmarks by 12%. The technique employs a locality-conscious inter-procedural analysis to drive mining decisions. It then uses regular section analysis and code motion techniques to enable loop fusion across procedure boundaries. We discuss the implementation of data promotion and array contraction techniques. We introduce array rotation technique to eliminate the overhead of copying array sections.