Source Code Loop Transformations for Memory Hierarchy Optimizations
Résumé
Portable or embedded systems allow complex applica- tions like multimedia today. These memory intensive applications and submicronic technologies have made the power consumption criterion crucial. We propose new source to source transformations thanks to which we can optimize the behavior of these applications by reducing the amount of needed physical memory and hence the associated power consumption. These trans- formations are performed on "for" loops that constitute the main parts of the multimedia code which handle the arrays. We present in this paper new techniques for minimizing memory size by loop fusion and loop alignment. These techniques do not depend on any ar- chitectural consideration or parameter as we do not use cache size or cache line size to drive the transforma- tions. Further optimizations that will consider these parameters to improve data-movement strategies over the memory hierarchy can be applied later to complete and refine the optimization framework.