Issue No.03 - March (2000 vol.26)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.842950
<p><b>Abstract</b>—Since sequential languages such as Fortran and C are more machine-independent than current parallel languages, it is highly desirable to develop powerful parallelization-tools which can generate parallel codes, automatically or semiautomatically, targeting different parallel architectures. Array data-flow analysis is known to be crucial to the success of automatic parallelization. Such an analysis should be performed interprocedurally and symbolically and it often needs to handle the predicates represented by IF conditions. Unfortunately, such a powerful program analysis can be extremely time-consuming if not carefully designed. How to enhance the efficiency of this analysis to a practical level remains an issue largely untouched to date. This paper presents techniques for efficient interprocedural array data-flow analysis and documents experimental results of its implementation in a research parallelizing compiler. Our techniques are based on <it>guarded array regions</it> and the resulting tool runs faster, by one or two orders of magnitude, than other similarly powerful tools.</p>
Parallelizing compiler, array data-flow analysis, interprocedural analysis, symbolic analysis.
Junjie Gu, Zhiyuan Li, "Efficient Interprocedural Array Data-Flow Analysis for Automatic Program Parallelization", IEEE Transactions on Software Engineering, vol.26, no. 3, pp. 244-261, March 2000, doi:10.1109/32.842950