Technique for allocating register to variable for compiling
AssigneeInternational Business Machines Corporation
InventorsTatsushi Inagaki, Hideaki Komatsu, Takuya Nakaike, Rei Odaira
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsTatsushi Inagaki, Hideaki Komatsu, Takuya Nakaike, Rei Odaira
Estimating the term…
The present invention relates to allocating registers to variables in order to compile a program. In an embodiment of the present invention a compiler apparatus stores interference information indicating an interference relationship between variables, selects a register and allocates the register to each variables in accordance with a predetermined procedure, without allocating the same register to a set of variables having interference relationships. The compiler further replaces multiple variables having the same register allocated thereto with a new variable and generates an interference relationship by merging the interference relationships each concerning one of multiple variables. The compiler further updates interference information according to the generated interference relationship and allocates to each variable in the program using the new variable a register, selected in accordance with the predetermined procedure without allocating the same register to a set of variables having the interference relationships, based on the updated interference information.
A compiling method for causing a computer to allocate registers to variables used in a program to be compiled, wherein said computer includes a storage device that stores interference information indicating whether or not a certain variable and another variable used in said program have an interference relationship in which these variables concurrently hold effective values at any time point during execution of the program, and assignment information in which a variable of an assignment source of an assignment instruction in said program is associated with a variable of an assignment destination of said assignment instruction, said method comprising:
A compiler apparatus configured to allocate registers to variables used in a program to be compiled, comprising:
A computer program product comprising a non-transitory computer useable medium including a computer readable program, wherein said computer readable program when executed on a computer causes said computer to perform the method steps for a compiling method for causing a computer to allocate registers to variables used in a program to be compiled, wherein said computer includes a storage device that stores interference information indicating whether or not a certain variable and another variable used in said program have an interference relationship in which these variables concurrently hold effective values at any time point during execution of the program, and assignment information in which a variable of an assignment source of an assignment instruction in said program is associated with a variable of an assignment destination of said assignment instruction, the method comprising the steps of:
Dependencies are inferred from the claim text.