DocumentCode :
3375466
Title :
Dynamic memory disambiguation for array references
Author :
Bernstein, David ; Cohen, Doron ; Maydan, Dror E.
Author_Institution :
IBM Haifa Res. Lab., Israel
fYear :
1994
fDate :
30 Nov.-2 Dec. 1994
Firstpage :
105
Lastpage :
111
Abstract :
We present a new algorithm for dynamic memory disambiguation for array references that allows us to overcome limitations of static analysis. For array references that cannot be accurately analyzed at compile time, we defer the disambiguation process until run-time. We have implemented our analysis algorithm in a prototype version of the IBM XL compiler and used the generated information for several compiler optimizations: software pipelining with global instruction scheduling, loop-invariant motion and redundant load elimination. We evaluated the algorithm on an IBM POWER2 system using the SPEC92 benchmarks. We show that for numeric C benchmarks, dynamic memory disambiguation can greatly improve run-time performance. Perhaps more importantly, we show that even for the programs that cannot benefit from dynamic analysis, the overhead of our algorithm does not degrade performance.
Keywords :
optimising compilers; program compilers; scheduling; IBM POWER2 system; IBM XL compiler; SPEC92 benchmarks; array references; compile time; dynamic memory disambiguation; global instruction scheduling; loop-invariant motion; numeric C benchmarks; redundant load elimination; run-time performance; software pipelining; static analysis; Algorithm design and analysis; Heuristic algorithms; Information analysis; Motion analysis; Optimizing compilers; Pipeline processing; Runtime; Scheduling algorithm; Software algorithms; Software prototyping;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Microarchitecture, 1994. MICRO-27. Proceedings of the 27th Annual International Symposium on
ISSN :
1072-4451
Print_ISBN :
0-89791-707-3
Type :
conf
DOI :
10.1109/MICRO.1994.717426
Filename :
717426
Link To Document :
بازگشت