Heap analysis and optimizations for threaded programs

Xinan Tang, Rakesh Ghiya, Laurie Jane Hendren, Guang R. Gao · 1997

Traditional compiler optimizations such as loop invariant removal and common sub-expression elimination are standard in all optimizing C compilers. The purpose of this paper is to present new versions of these optimizations that apply to programs using dynamically-allocated data structures, and to show the effect of these optimizations on the performance of parallel, multithreaded programs. The context of this work is the EARTH-C compiler which translates high-level parallel C programs to low-level multithreaded programs. The main idea of the EARTH-C compiler is that the programmer provides a high-level program, and the compiler should perform the appropriate analyses and transformations to produce an efficient target program. Furthermore, this approach is specifically tailored for irregular applications that use dynamically-allocated data structures. In this paper we show how heap pointer analyses can be used to support better dependence testing and new applications of common sub-expr...

Read the paper · More papers on PaperTik