Method and computer program product for precise feedback data generation and updating for compile-time optimizations
    1.
    发明授权
    Method and computer program product for precise feedback data generation and updating for compile-time optimizations 有权
    用于编译时优化的精确反馈数据生成和更新的方法和计算机程序产品

    公开(公告)号:US07120906B1

    公开(公告)日:2006-10-10

    申请号:US09560555

    申请日:2000-04-28

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A method and computer program product, within an optimizing compiler, for precise feedback data generation and updating. The method and computer program uses instrumentation and annotation of frequency values to allow feedback data to stay current during the multiple optimizations that the program code undergoes during compilation. Global propagation of known precise feedback values are used to replace approximate and unavailable values, and global verification of feedback data after optimization to detect discrepancies is employed. The method and computer program also provides improved instrumentation to anticipate cloning when code is cloned during ceratin compiler optimizations and handles inlined procedures. The result is compiled executables with improved SPECint benchmarks.

    摘要翻译: 一种优化编译器内的方法和计算机程序产品,用于精确的反馈数据生成和更新。 该方法和计算机程序使用频率值的仪器和注释来允许反馈数据在程序代码在编译期间经历的多次优化期间保持最新。 使用已知精确反馈值的全局传播来代替近似值和不可用值,并且采用优化后的反馈数据的全局验证来检测差异。 该方法和计算机程序还提供了改进的仪器,以便在ceratin编译器优化期间克隆代码时预期克隆,并处理内联过程。 结果是编译可执行文件,改进了SPECint基准。

    Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization
    2.
    发明授权
    Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization 失效
    使用静态单一分配形式作为程序表示的方法,系统和计算机程序产品以及用于执行全局标量优化的介质

    公开(公告)号:US06301704B1

    公开(公告)日:2001-10-09

    申请号:US09097672

    申请日:1998-06-16

    IPC分类号: G06F9445

    CPC分类号: G06F8/443

    摘要: A method, system, and computer product uses a hashed static single assignment (SSA) form as a program representation and a medium for performing global scalar optimization. A compiler, after expressing the computer program in SSA form, can perform one or more static single assignment (SSA)-based, SSA-preserving global scalar optimization procedures on the SSA representation. Such a procedure modifies, (i.e., optimizes) the SSA representation of the program while preserving the utility of its embedded use-deprogram information for purposes of subsequent SSA-based, SSA-preserving global scalar optimizations. This saves the overhead expense of having to explicitly regenerate use-def program information for successive SSA-based, SSA-preserving global scalar optimizations.

    摘要翻译: 方法,系统和计算机产品使用散列静态单赋值(SSA)形式作为程序表示和用于执行全局标量优化的介质。 在以SSA形式表达计算机程序之后,编译器可以在SSA表示上执行一个或多个基于静态单一分配(SSA)的SSA保留的全局标量优化过程。 这样的过程修改(即优化)程序的SSA表示,同时保留其嵌入的使用 - 解除程序信息的用途,以用于随后的基于SSA的SSA保留的全局标量优化。 这节省了为连续的基于SSA,保持SSA的全局标量优化显式地重新生成use-def程序信息的开销费用。

    System and method to efficiently represent aliases and indirect memory
operations in static single assignment form during compilation
    3.
    发明授权
    System and method to efficiently represent aliases and indirect memory operations in static single assignment form during compilation 失效
    在编译期间,以静态单个分配形式有效地表示别名和间接记忆操作的系统和方法

    公开(公告)号:US6131189A

    公开(公告)日:2000-10-10

    申请号:US979939

    申请日:1997-11-26

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A system and method for an optimizer of a compilation suite for representing aliases and indirect memory operations in static single assignment (SSA) during compilation of a program having one or more basic blocks of source code. The optimizer converts all scalar variables of said program to SSA form, wherein said SSA form includes a plurality of variable versions, zero or more occurrences of a .chi. function, zero or more occurences of a .phi. function, and zero or more occurrences of a .mu. function. The .chi. function, .phi. function, and .mu. function are inserted for the variable versions. The optimizer also determines whether a variable version can be renamed to a zero version, and upon such a determination, the optimizer renames the variable version to a zero version. The optimizer further converts all indirect variables of a program to SSA form, wherein the SSA form includes a plurality of virtual variable versions such that a virtual variable is assigned to an indirect variable, zero or more occurrences of a .chi. function, zero or more occurences of a .phi. function, and zero or more occurrences of a .mu. function. The .chi. function, .phi. function, and .mu. function are inserted for the virtual variables. The optimizer hashes a unique value number and creates a corresponding hash table entry for each variable version and each virtual variable remaining after renaming all zero versions. The optimizer also applies global value numbering to each basic block of the program.

    摘要翻译: 一种编译套件的优化器的系统和方法,用于在具有一个或多个源代码基本块的程序的编译期间,在静态单赋值(SSA)中表示别名和间接存储器操作。 所述优化器将所述程序的所有标量变量转换为SSA形式,其中所述SSA形式包括多个可变版本,零次或多次出现的chi功能,零个或多个phi功能的出现以及零次或多次出现的mu 功能。 为变量版本插入chi函数,phi函数和mu函数。 优化器还确定变量版本是否可以重命名为零版本,并且在这样的确定时,优化器将变量版本重命名为零版本。 优化器进一步将程序的所有间接变量转换为SSA形式,其中SSA形式包括多个虚拟变量版本,使得虚拟变量被分配到间接变量,零个或多个出现的chi函数,零个或多个出现 的phi功能,以及零个或多个mu功能的出现。 为虚拟变量插入chi函数,phi函数和mu函数。 优化器散列唯一的值编号,并为每个变量版本创建相应的哈希表条目,并在重命名所有零版本后剩余的每个虚拟变量。 优化器还对程序的每个基本块应用全局值编号。

    System, method, and computer program product for partial redundancy
elimination based on static single assignment form during compilation
    4.
    发明授权
    System, method, and computer program product for partial redundancy elimination based on static single assignment form during compilation 失效
    编译过程中基于静态单个分配表的部分冗余消除的系统,方法和计算机程序产品

    公开(公告)号:US6026241A

    公开(公告)日:2000-02-15

    申请号:US873895

    申请日:1997-06-13

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: Partial redundancy elimination of a computer program is described that operates using a static single assignment (SSA) representation of a computer program. The SSA representation of the computer program is processed to eliminate partially redundant expressions in the computer program. This processing involves inserting .PHI. functions for expressions where different values of the expressions reach common points in the computer program. A result of each of the .PHI. functions is stored in a hypothetical variable h. The processing also involves a renaming step where SSA versions are assigned to hypothetical variables h in the computer program, a down safety step of determining whether each .PHI. function in the computer program is down safe, and a will be available step of determining whether each expression in the computer program will be available at each .PHI. function following eventual insertion of code into the computer program for purposes of partial redundancy elimination. The processing also includes a finalize step of transforming the SSA representation of the computer program having hypothetical variables h to a SSA graph that includes some insertion information reflecting eventual insertions of code into the computer program for purposes of partial redundancy elimination, and a code motion step of updating the SSA graph based on the insertion information to introduce real temporary variables t for the hypothetical variables h.

    摘要翻译: 描述了使用计算机程序的静态单一分配(SSA)表示来操作计算机程序的部分冗余消除。 处理计算机程序的SSA表示以消除计算机程序中的部分冗余表达式。 该处理涉及为表达式插入PHI函数,其中表达式的不同值达到计算机程序中的公共点。 每个PHI函数的结果存储在假设变量h中。 该处理还包括重新命名步骤,其中SSA版本被分配给计算机程序中的假想变量h,确定计算机程序中的每个PHI功能是否下降的安全步骤,以及将是可用的步骤,确定每个表达式 为了部分冗余消除的目的,在计算机程序中将最终将代码插入计算机程序之后,在每个PHI功能中将可用。 该处理还包括将具有假设变量h的计算机程序的SSA表示形式的SSA图形变换为SSA图的最终确定步骤,该SSA图形包括反映最终插入代码到计算机程序中以便部分冗余消除的目的的一些插入信息,以及代码运动步骤 基于插入信息更新SSA图,以为假设变量h引入真实临时变量t。

    System and method to efficiently represent aliases and indirect memory
operations in static single assignment form during compilation

    公开(公告)号:US5768596A

    公开(公告)日:1998-06-16

    申请号:US636605

    申请日:1996-04-23

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A system and method for an optimizer of a compilation suite for representing aliases and indirect memory operations in static single assignment (SSA) during compilation of a program having one or more basic blocks of source code. The optimizer converts all scalar variables of said program to SSA form, wherein said SSA form includes a plurality of variable versions, zero or more occurrences of a .chi. function, zero or more occurences of a .phi. function, and zero or more occurrences of a .mu. function. The .chi. function, .phi. function, and .mu. function are inserted for the variable versions. The optimizer also determines whether a variable version can be renamed to a zero version, and upon such a determination, the optimizer renames the variable version to a zero version. The optimizer further converts all indirect variables of a program to SSA form, wherein the SSA form includes a plurality of virtual variable versions such that a virtual variable is assigned to an indirect variable, zero or more occurrences of a .chi. function, zero or more occurences of a .phi. function, and zero or more occurrences of a .mu. function. The .chi. function, .phi. function, and .mu. function are inserted for the virtual variables. The optimizer hashes a unique value number and creates a corresponding hash table entry for each variable version and each virtual variable remaining after renaming all zero versions. The optimizer also applies global value numbering to each basic block of the program.

    Inter-procedural allocation of stacked registers for a processor
    6.
    发明授权
    Inter-procedural allocation of stacked registers for a processor 有权
    用于处理器的堆叠寄存器的程序间分配

    公开(公告)号:US07120775B2

    公开(公告)日:2006-10-10

    申请号:US10747426

    申请日:2003-12-29

    IPC分类号: G06F12/00

    CPC分类号: G06F8/441

    摘要: A method for an allocation of stacked registers for Intel's Itanium® processor includes a three step process. Step I determines an intra-procedural stacked register usage by a program having a plurality of procedures. In step II, the disclosed method performs an inter-procedural analysis to assign quota of stacked register usage to every procedure. In step III, each procedure is allocated stacked register usage based on the quota assignments of step II.

    摘要翻译: 英特尔安腾(R)处理器分配堆叠寄存器的方法包括三步骤过程。 步骤I通过具有多个过程的程序来确定程序内堆叠的寄存器使用。 在步骤II中,所公开的方法执行程序间分析以将堆叠的寄存器使用的配额分配给每个过程。 在步骤III中,基于步骤II的配额分配,分配每个过程的堆叠寄存器使用。

    Circular scheduling method and apparatus for executing computer programs
by moving independent instructions out of a loop
    7.
    发明授权
    Circular scheduling method and apparatus for executing computer programs by moving independent instructions out of a loop 失效
    通过将独立指令移出循环来执行计算机程序的循环调度方法和装置

    公开(公告)号:US5386562A

    公开(公告)日:1995-01-31

    申请号:US882427

    申请日:1992-05-13

    IPC分类号: G06F9/45 G06F9/30 G06F9/00

    CPC分类号: G06F8/452

    摘要: A procedure which is a particular type of software pipelining is provided which increases the efficiency with which code is executed by reducing or eliminating stalls such as by filling delay slots. The process includes moving instructions in a loop from one loop iteration to another. The moving of instructions provides the scheduler with additional independent instructions in a given basic block so the scheduler has greater freedom to move instructions into unfilled delay slots. The procedure includes changing the entry point into the loop, thus effectively moving an instruction from near the top of the loop to near the bottom of the loop, while changing the iteration number of the moved instruction.

    摘要翻译: 提供了作为特定类型的软件流水线化的过程,其通过减少或消除诸如通过填充延迟时隙的失速来提高代码执行的效率。 该过程包括将循环中的指令从一个循环迭代移动到另一个循环迭代。 指令的移动向调度器提供给定基本块中的附加独立指令,因此调度器具有将指令移动到未填充延迟时隙的更大自由度。 该过程包括将入口点更改为循环,从而有效地将指令从循环顶部附近移动到靠近循环底部,同时改变移动指令的迭代次数。

    Intercooler
    9.
    发明授权
    Intercooler 失效
    中冷器

    公开(公告)号:US07290594B2

    公开(公告)日:2007-11-06

    申请号:US10932689

    申请日:2004-09-01

    申请人: Sun Chan

    发明人: Sun Chan

    IPC分类号: F28F9/007

    CPC分类号: F28F9/002 F28D2021/0082

    摘要: An intercooler configured for attachment to an automobile is disclosed. One embodiment of the invention includes an intercooler body having an inlet manifold on one end and an outlet manifold on the other end, and a decorative top plate on the top of the intercooler attached to the manifolds. The decorative top plate has two holes in it which are both keyed to resist rotation of an insert, a hollow bolt having a stepped formation under the bolt head such that the stepped formation is able to key in the hole cut in the plate, the bolt is inserted through the top of the plate and secured by a nut secured underneath it so that the head of the bolt lies flush against the plate and the stepped formation keys against the hole to prevent rotation. In addition, the bolt is hollow having a threaded passage passing through it to receive another bolt to secure the intercooler to a bracket in the automobile.

    摘要翻译: 公开了一种构造成用于附接到汽车的中间冷却器。 本发明的一个实施例包括中间冷却器主体,其具有在一端上的入口歧管和另一端上的出口歧管,以及连接到歧管的中间冷却器顶部上的装饰顶板。 装饰顶板在其中具有两个孔,两个孔都被锁定以抵抗插入件的旋转,中空螺栓在螺栓头下方具有阶梯形结构,使得阶梯形结构能够键入板中的孔,螺栓 被插入板的顶部并被固定在其下面的螺母固定,使得螺栓的头部平齐地抵靠板并且阶梯形结构键抵靠孔以防止旋转。 此外,螺栓是中空的,具有穿过它的螺纹通道以接收另一个螺栓,以将中间冷却器固定到汽车中的支架。

    Conduit Joining Apparatus
    10.
    发明申请
    Conduit Joining Apparatus 审中-公开
    管道连接装置

    公开(公告)号:US20100117360A1

    公开(公告)日:2010-05-13

    申请号:US12593671

    申请日:2008-03-28

    申请人: Sun Chan

    发明人: Sun Chan

    IPC分类号: F16L21/06

    摘要: Apparatus for joining a first conduit to a second conduit comprising a first coupler for attachment to an end of the first conduit, a second coupler for attachment to an end of the second conduit and for engagement to the first coupler, and a snap-fit fastener for fastening the first coupler to the second coupler. The snap-fit fastener is arranged in at least two portions to fit around the periphery of the first and second couplers when the first and second couplers are engaged. The apparatus enables relative movement between the first coupler and the second coupler.

    摘要翻译: 用于将第一导管连接到第二导管的装置,包括用于附接到第一导管的端部的第一耦合器,用于附接到第二导管的端部并用于与第一耦合器接合的第二耦合器,以及卡扣紧固件 用于将第一耦合器紧固到第二耦合器。 当第一和第二联接器接合时,卡扣配合紧固件被布置成至少两个部分以配合在第一和第二联接器的周边周围。 该装置能够实现第一耦合器和第二耦合器之间的相对移动。