发明名称 METHOD AND SYSTEM FOR TARGET REGISTER ALLOCATION
摘要 A computer-based method and system for allocating target registers to branch operations and for determining the location of target definitions for the branch operations within a computer program. The target register allocation system of the present invention allocates a target register to be specified by each branch operation. The target register is to contain the address of the target that is loaded by the target definition. The target register allocation system determines a location in the computer program for a target definition such that whenever the branch operation is executed, the allocated target register contains the address of the target of the branch. The target allocation system may determine the location to be in a dominator block of the branch operation. The target allocation system may also determine the location a target definition so that the address of the target that is loaded by the target definition can be used by multiple branch operations. The target allocation system may also determine the location of the target definition based on execution frequency of locations. The target allocation system may, when a branch operation is in a loop, determine the location of the target definition to be outside the loop. The target allocation system may, when the program is a function, give preference to a non-callee save register in allocating a target register. The target allocation system may give preference to a callee save register of a function whose invocation is located in between the determined location and the location of the branch operation on a path of execution when allocating a target register.
申请公布号 WO0038057(A2) 申请公布日期 2000.06.29
申请号 WO1999US30804 申请日期 1999.12.22
申请人 TERA COMPUTER COMPANY;CALLAHAN, CHARLES, DAVID, II 发明人 CALLAHAN, CHARLES, DAVID, II
分类号 G06F9/45;G07F7/08;(IPC1-7):G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项
地址