Title :
Interprocedural array remapping
Author :
M. Cierniak; Wei Li
Author_Institution :
Dept. of Comput. Sci., Rochester Univ., NY, USA
Abstract :
Programming languages like Fortran or C define exactly the layout of array elements in memory. Programmers often use that definition to access the same memory via variables of different types. For many real programs this practice makes changing the layout of an array impossible without violating the semantics of the program since the same memory block may be accessed via variables of different types-such accesses may now receive wrong array elements. On the other hand, changing array layout is often necessary to obtain good parallel performance or even to improve sequential performance by providing better cache locality. The paper demonstrates that the problem of changing array layouts in the presence of multiple variables of different types accessing the same memory can be solved with the algorithms for 1) detecting overlapping arrays, 2) using procedure cloning to reduce overlapping, 3) array-type coercion, and 4) code structure recovery.
Keywords :
"Computer languages","Computer science","Cloning","Parallel machines","Optimizing compilers","Program processors","Manuals","Performance analysis"
Conference_Titel :
Parallel Architectures and Compilation Techniques., 1997. Proceedings., 1997 International Conference on
Print_ISBN :
0-8186-8090-3
DOI :
10.1109/PACT.1997.644011