Skip to Main Content
Spatial and temporal locality improvements, by loop and data-layout transformations, are today seen as key to obtaining energy and performance gains in data-dominated multimedia applications. With significant energy and time being spent in moving data between memory hierarchies, reducing the traffic by increasing locality is highly desirable. Techniques for improving locality can, however, are significantly constrained by function boundaries. While global optimization - across function boundaries - is often considered an alternative, the truth is that it does not allow contextual and specialized optimizations that are possible after inlining. In this paper, therefore, we present a systematic technique which assists locality optimizations techniques by selectively inlining functions that have strong data coupling between them. Results on realistic multimedia applications using our approach show an average 35% reduction in external data memory access, without any significant impact on the instruction memory (within 3%).