Title :
Designing programming languages for analyzability: a fresh look at pointer data structures
Author :
Hendren, Laurie J. ; Gao, Guang R.
Author_Institution :
Sch. of Comput. Sci., McGill Univ., Montreal, Que., Canada
Abstract :
A programming language mechanism and associated compiler techniques which significantly enhance the analyzability of pointer-based data structures frequently used in nonscientific programs are proposed. The approach is based on exploiting two important properties of pointer data structures: structural inductivity and speculative traversability. Structural inductivity facilitates the application of a static interference analysis method for such pointer data structures based on path matrices, and speculative traversability is utilized by a novel loop unrolling technique for while loops that exploit fine-grain parallelism by speculatively traversing such data structures. The effectiveness of this approach is demonstrated by applying it to a collection of loops found in typical nonscientific C programs
Keywords :
C language; data structures; parallel languages; parallel programming; program compilers; C programs; compiler techniques; fine-grain parallelism; loop unrolling technique; path matrices; pointer-based data structures; programming language mechanism; speculative traversability; static interference analysis method; structural inductivity; Computer architecture; Computer languages; Computer science; Data structures; Interference; Microprocessors; Parallel processing; Program processors; Reduced instruction set computing; Very large scale integration;
Conference_Titel :
Computer Languages, 1992., Proceedings of the 1992 International Conference on
Conference_Location :
Oakland, CA
Print_ISBN :
0-8186-2585-6
DOI :
10.1109/ICCL.1992.185488