Abstract: FORTRAN WHERE construct compilation and optimization is provided by excluding an assignment statement containing a transformational intrinsic function from loop fusion of the WHERE construct. To perform this loop fusion, intrastatement dependence analysis is performed within each assignment statement of the WHERE construct, and then interstatement dependence analysis is performed between each assignment statement and assignment statements subsequent to the assignment statement. Responsive to this dependence analysis, pairs of assignment statements which may not be fused into a single loop are identified, and non-fusion boundaries between adjacent assignment statements where assignment statements preceding a non-fusion boundary and assignment statements subsequent to the non-fusion boundary may not be fused into a single loop are identified. This fusion analysis yields a loop fusion configuration.
Type:
Grant
Filed:
July 23, 1997
Date of Patent:
March 21, 2000
Assignee:
International Business Machines Corporation
Inventors:
Dz Ching Ju, John Shek-Luen Ng, Vivek Sarkar
Abstract: In sequential object oriented languages such as C++, a mechanism is provided to permit multiple asynchronous processing operations without compiler modifications, language extensions or special pre-processing. A specially adapted pointer converts a procedure call into an asynchronous task thread, while returning an expected response to permit a calling program to continue processing. The returned value can be either discarded or converted to a future variable if the calling program requires the result of the separate processing on the asynchronous thread. The invention can be used in parallel multi-processors environments and in uni-processors having parallel processing characteristics.
Type:
Grant
Filed:
February 9, 1995
Date of Patent:
December 7, 1999
Assignee:
International Business Machines Corporation