Patent ReferencesSystem for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks Method of producing object program based on interprocedural dataflow analysis of a source program Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems ANDF compiler using the HPcode-plus compiler intermediate language System for compiling parallel communications instructions including their embedded data transfer information Compiler for performing incremental live variable analysis for data-parallel programs 5548761 InventorsApplicationNo. 899359 filed on 07/23/1997US Classes:717/114, Programming language717/154, Including analysis of program717/160Including loopExaminersPrimary: Hafiz, Tariq R.Assistant: Nguyen-Ba, Antony Attorney, Agent or FirmInternational ClassG06F 009/45AbstractFORTRAN 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. After the loop fusion configuration is identified and the rank of any temporary expression is determined, code generation is performed by scalarizing each assignment statement. This provides better optimization than the conventional straight forward approach to compiling a WHERE construct, and further provides an optimized compilation of a WHERE construct by the use of less compilation time than that required by conventional high-level optimization.Other References
| |