Method of, system for, and computer program product for providing
extended global value numbering
    1.
    发明授权
    Method of, system for, and computer program product for providing extended global value numbering 失效
    用于提供扩展全球价值编号的方法,系统和计算机程序产品

    公开(公告)号:US6035124A

    公开(公告)日:2000-03-07

    申请号:US568216

    申请日:1995-12-06

    申请人: John Shek-Luen Ng

    发明人: John Shek-Luen Ng

    IPC分类号: G06F9/45

    CPC分类号: G06F8/433 G06F8/443 G06F8/445

    摘要: A fast and efficient way of performing extended global value numbering beyond basic blocks and extended basic blocks on a complete topological ordering of basic blocks in a program. Global value numbering is further extended with a Value Number List, an ordered list of value numbers of an expression, and iterative processing of a worklist containing expressions which are recursively defined. A hash table is used to reduce storage and processing time.

    摘要翻译: 在程序中基本块的完整拓扑排序上执行超出基本块和扩展基本块的扩展全局值编号的快速有效的方法。 价值编号列表,表达式的值编号的有序列表以及包含递归定义的表达式的工作列表的迭代处理进一步扩展了全局值编号。 哈希表用于减少存储和处理时间。

    Method of, system for, and computer program product for providing
inlined nested array constructors using normalized counters
    2.
    发明授权
    Method of, system for, and computer program product for providing inlined nested array constructors using normalized counters 失效
    使用标准化计数器提供嵌入式嵌套数组构造函数的方法,系统和计算机程序产品

    公开(公告)号:US5845126A

    公开(公告)日:1998-12-01

    申请号:US570173

    申请日:1995-12-06

    IPC分类号: G06F9/45

    CPC分类号: G06F8/447

    摘要: Method of, system for, and computer program product for generating efficient code for a set of nested Fortran 90 array constructors without introducing temporary vectors by the use of normalized counters and by maintaining array constructor extent structure trees. Non-perfectly nested array constructors and array constructors with dynamic extents may be inlined. The results provided include a reduction in run-time memory storage usage and an improvement in execution time performance.

    摘要翻译: 用于为一组嵌套的Fortran 90阵列构造函数生成有效代码的方法,系统和计算机程序产品,而不通过使用归一化计数器并通过维护阵列构造函数扩展结构树来引入临时向量。 具有动态范围的非完全嵌套的数组构造函数和数组构造函数可能是内联的。 所提供的结果包括减少运行时存储器的使用和改进的执行时间性能。

    Method of, system for, and computer program product for providing
improved code motion and code redundancy removal using extended global
value numbering
    4.
    发明授权
    Method of, system for, and computer program product for providing improved code motion and code redundancy removal using extended global value numbering 失效
    方法,系统和计算机程序产品,用于使用扩展的全局值编号提供改进的代码运动和代码冗余删除

    公开(公告)号:US6077314A

    公开(公告)日:2000-06-20

    申请号:US568079

    申请日:1995-12-06

    申请人: John Shek-Luen Ng

    发明人: John Shek-Luen Ng

    IPC分类号: G06F9/45

    CPC分类号: G06F8/445

    摘要: Code motion and redundancy removal based on an Extended Global Value Numbering technique which performs value numbering beyond basic blocks and extended basic blocks. Full redundancies and partial redundancies are identified and iteratively processed until they are no longer movable or removable in the program. The identification and processing is aided by the use of Value Number Lists and Value Number Sets. Provides improved optimization of redundancy and partial redundancy with reduced compilation time and reduced storage.

    摘要翻译: 基于执行超出基本块和扩展基本块的值编号的扩展全局值编号技术的代码运动和冗余删除。 全冗余和部分冗余被识别并迭代处理,直到它们在程序中不再可移动或可移动。 通过使用值数列表和数值集来辅助识别和处理。 通过减少编译时间和减少存储,提供冗余和部分冗余的改进优化。

    Method of, system for, and computer program product for providing global value numbering
    5.
    发明授权
    Method of, system for, and computer program product for providing global value numbering 失效
    用于提供全球价值编号的方法,系统和计算机程序产品

    公开(公告)号:US06202203B1

    公开(公告)日:2001-03-13

    申请号:US08568075

    申请日:1995-12-06

    申请人: John Shek-Luen Ng

    发明人: John Shek-Luen Ng

    IPC分类号: G06F945

    CPC分类号: G06F8/443

    摘要: A fast and efficient way of performing global value numbering beyond basic blocks and extended basic blocks on a complete topological ordering of basic blocks in a program. Global value numbering makes use of an unknown value number and iterative processing of a worklist containing expressions assigned an unknown value number. A hash table is used to reduce storage and processing time.

    摘要翻译: 在程序中基本块的完整拓扑排序上执行超出基本块和扩展基本块的全局值编号的快速有效的方法。 全局值编号利用未知的值编号,并对包含未分配值编号的表达式的工作列表进行迭代处理。 哈希表用于减少存储和处理时间。

    System and method for enabling a compiled computer program to invoke an
interpretive computer program
    7.
    发明授权
    System and method for enabling a compiled computer program to invoke an interpretive computer program 失效
    用于使编译的计算机程序能够调用解释性计算机程序的系统和方法

    公开(公告)号:US5675804A

    公开(公告)日:1997-10-07

    申请号:US521805

    申请日:1995-08-31

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45508

    摘要: A system and method for building and linking an interpretive procedure so as to enable a compiled computer program to invoke the interpretive procedure are described herein. A target object code is modified to include information identifying files associated with the interpretive procedure. A compiled representation of the interpretive procedure is generated by linking together adapter code, the modified target object code, and an interpreter. The compiled representation of the interpretive procedure is invocable by a compiled computer program. The adapter code is in binary and includes an interpreter command module. The interpreter command module when executed causes the interpreter to load and interpretively execute the files associated with the interpretive procedure. The adapter code also includes a parameter conversion module, which converts the parameter list to the interpretive computer language of the interpretive procedure.

    摘要翻译: 本文描述了用于构建和链接解释过程以便使编译的计算机程序能够调用解释过程的系统和方法。 目标对象代码被修改为包括识别与解释过程相关联的文件的信息。 通过将适配器代码,修改的目标对象代码和解释器连接在一起来生成解释过程的编译表示。 解释过程的编译表示可以通过编译的计算机程序进行调用。 适配器代码是二进制文件,并包含一个解释器命令模块。 解释器命令模块在执行时会导致解释器加载并解释性地执行与解释过程相关联的文件。 适配器代码还包括参数转换模块,该模块将参数列表转换为解释性过程的解释性计算机语言。

    Method of, system for, and computer program product for providing quick
fusion in WHERE constructs
    9.
    发明授权
    Method of, system for, and computer program product for providing quick fusion in WHERE constructs 失效
    用于在WHERE结构中提供快速融合的方法,系统和计算机程序产品

    公开(公告)号:US6041181A

    公开(公告)日:2000-03-21

    申请号:US899359

    申请日:1997-07-23

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: 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. 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.

    摘要翻译: FORTRAN WHERE构造编译和优化通过从WHERE构造的循环融合中排除包含转换内在函数的赋值语句来提供。 为了执行这种循环融合,在WHERE结构的每个赋值语句中执行intrastatement依赖性分析,然后在赋值语句之后的每个赋值语句和赋值语句之间执行句间依赖性分析。 对这种依赖性分析的响应,识别可能不融合到单个循环中的赋值语句对,以及相邻赋值语句之间的非融合边界,其中非融合边界之前的赋值语句和非融合边界之后的赋值语句 可能没有融合成单个循环被识别。 该融合分析产生环融合配置。 在确定循环融合配置并确定任何临时表达式的等级之后,通过对每个赋值语句进行标量化来执行代码生成。 这提供了比传统的直接方法编译WHERE结构更好的优化,并且通过使用比常规高级优化所需的更少的编译时间,进一步提供了WHERE构造的优化编译。

    System and method for enabling pointers to be passed from computer
programs written using computer programming languages that do not
support pointers
    10.
    发明授权
    System and method for enabling pointers to be passed from computer programs written using computer programming languages that do not support pointers 失效
    用于使指针从使用不支持指针的计算机编程语言编写的计算机程序传递的系统和方法

    公开(公告)号:US5809302A

    公开(公告)日:1998-09-15

    申请号:US521806

    申请日:1995-08-31

    IPC分类号: G06F9/46 G06F9/44

    CPC分类号: G06F9/547

    摘要: Described herein is a system and method for enabling an application to pass a structure containing a pointer member to an external entity, wherein the application represents a computer program executing in a computer system, and the computer program is written in a computer programming language that does not support pointers. The application declares a variable V, a structure type having a member P, and a variable M of the structure type. The application invokes a function written in a computer programming language that supports pointers. A reference to the variable V is passed to the function. The function, when executed, obtains and returns an address of the variable V. The application sets the member P in the variable M equal to the address of the variable V. The application then passes the variable M to an external entity. In this manner, the present invention enables a structure having a pointer embedded therein to be passed to the external entity.

    摘要翻译: 这里描述了一种用于使应用程序能够将包含指针成员的结构传递到外部实体的系统和方法,其中应用程序表示在计算机系统中执行的计算机程序,并且计算机程序以计算机编程语言编写, 不支持指针。 应用程序声明变量V,具有成员P的结构类型和结构类型的变量M. 应用程序调用以支持指针的计算机编程语言编写的函数。 对变量V的引用传递给函数。 该函数在执行时获取并返回变量V的地址。应用程序将变量M中的成员P设置为等于变量V的地址。应用程序然后将变量M传递给外部实体。 以这种方式,本发明使得具有嵌入其中的指针的结构能够被传递到外部实体。