Compiler-directed selection of dynamic memory layouts

Mahmut Kandemir, Ismail Kadayif
2001 Proceedings of the ninth international symposium on Hardware/software codesign - CODES '01  
Compiler technology is becoming a key component i n the design of embedded systems, mostly due to increasing participation of software in the design process. Meeting system-level objectives usually requires exible and retargetable compiler optimizations that can be ported across a wide variety of architectures. In particular, source-level compiler optimizations aiming at increasing locality of data accesses are expected to improve the quality of the generated code. Previous compiler-based
more » ... ches to improving locality h a ve mainly focused on determining optimal memory layouts that remain in e ect for the entire execution of an application. For large embedded codes, however, such static layouts may be insufcient to obtain acceptable performance. The selection of memory layouts that dynamically change over the course of a program's execution adds another dimension to data locality optimization. This paper presents a technique that can be used to automatically determine which l a youts are most bene cial over speci c regions of a program while taking into account the added overhead of dynamic runtime layout changes. The results obtained using two benchmark codes show that such a dynamic approach brings signi cant bene ts over a static state-of-the-art technique.
doi:10.1145/371636.371733 dblp:conf/codes/KandemirK01 fatcat:243fhlx3orcktihn5a54vh7kg4