Patent ID: 6282704
Filing Date: 2001-08-28
Classification: G06F

Abstract:
A method for analyzing an array summary in a language processor that generates an object program from a source program, comprising:(a) a syntax analysis step for analyzing the syntax of the source program and generating intermediate code;(b) an array summary analysis step for generating, for each loop within the intermediate code, an array summary comprising a set of parts of an array to which values may be written in the loop, a set of parts of an array to which values must be written in the loop, a set of parts of an array from which values may be read in the loop, and a set of parts of an array from which values may be read before a value is written in the loop;(c) an array privatization step for allocating, based on the array summary, arrays to memory areas independent of each other for the loop within the intermediate code;(d) a loop parallelization step for performing parallelization for the loop within the intermediate code after transformation of step (c); and(e) a code generation step for generating an object program for the intermediate code after transformation of step (d),wherein step (b) includes:(f) a loop-exit-time control variable value array summary analysis step for computing, for a loop containing a loop exit statement and a statement that sets the value of a loop control variable at loop exit to a scalar variable, an array summary with the value of the scalar variable as the upper bound of the loop control variable.