Patent ID: 7089545

Claim:
A method for detecting reduction variables in a source code program loop to enable execution parallelization, comprising the steps of: (a) recasting a right hand side (RHS) expression of assignment statements of the source code program loop into a reduced form, (b) determining for such an assignment statement its corresponding left hand side (LHS) variable and creating a corresponding variable search string for the LHS variable to enable a search for the LHS variable as a factor in the recast expression, (c) creating a corresponding reciprocal variable search string for a reciprocal of the LHS variable to enable a search for the reciprocal of the LHS variable as a factor in the recast expression, (d) searching in the recast RHS expression of each said assignment statement for the variable search string corresponding to the LHS variable, (e) searching in the recast RHS expression of each said assignment statement for the reciprocal variable search string corresponding to the reciprocal of the LHS variable, (f) inserting references to the LHS variables and their corresponding assignment statements in a reduction table based on pre-determined conditions, (g) deleting references to the LHS variables and their corresponding assignment statements from the reduction table based on predetermined conditions, and (h) for each of the LHS variables and their corresponding assignment statements referenced in the reduction table determining a corresponding associative operator and associative operand.