Register allocation technique in a program translating apparatus
First Claim
Patent Images
1. A program translating apparatus comprising:
- detection means for detecting variable starting points and variable ending points in ranges of existence of variables in a same period of time, said detection means examining said ranges of existence of said variables one by one;
separation means for separating said ranges of existence of said variables at said variable starting points and variable ending points detected by said detection means;
register allocation means for selecting candidatures for split regions permanently allocated to registers by determining profits when the split regions obtained by separating said ranges of existence of said variables, being different and existing in the same period of time, are respectively allocated to the registers; and
register assignment means for permanently assigning registers for said candidatures for the split regions selected by said register allocation means.
1 Assignment
0 Petitions
Accused Products
Abstract
A program translating apparatus includes a detection portion, a separation portion, a register allocation portion, and a register assignment portion. All ranges of existence of variables are separated at starting points and ending points, profits are calculated in cases where split regions of the ranges of existence are respectively allocated to registers, and a priority for register allocation of the respective split regions is calculated. The register allocation/assignment is performed on the basis of the obtained priority.
25 Citations
5 Claims
-
1. A program translating apparatus comprising:
-
detection means for detecting variable starting points and variable ending points in ranges of existence of variables in a same period of time, said detection means examining said ranges of existence of said variables one by one; separation means for separating said ranges of existence of said variables at said variable starting points and variable ending points detected by said detection means; register allocation means for selecting candidatures for split regions permanently allocated to registers by determining profits when the split regions obtained by separating said ranges of existence of said variables, being different and existing in the same period of time, are respectively allocated to the registers; and register assignment means for permanently assigning registers for said candidatures for the split regions selected by said register allocation means.
-
-
2. A program translating apparatus comprising:
-
a detection portion for detecting variable starting points and variable ending points in ranges of existence of variables in a same period of time, said detection portion examining said ranges of existence of said variables one by one; a separation portion for separating said ranges of existence of said variables at said variable starting points and variable ending points detected by said detection portion; a register allocation portion for selecting candidatures for split regions permanently allocated to registers by determining profits when the split regions obtained by separating said ranges of existence of said variables, being different and existing in the same period of time, are respectively allocated to the registers and by determining a priority for the register allocation of the split regions; and a register assignment portion for permanently assigning registers for said candidatures for the split regions selected by said register allocation portion. - View Dependent Claims (3)
-
-
4. A program translating apparatus comprising:
-
a detection portion for detecting variable starting points and variable ending points in ranges of existence of variables in a same period of time, said detection portion examining said ranges of existence of said variables one by one; a separation portion for separating said ranges of existence of said variables at said variable starting points and variable ending points detected by said detection portion; a register allocation portion for selecting candidatures for split regions permanently allocated to registers by determining profits when the split regions obtained by separating said ranges of existence of said variables, being different and existing in the same period of time, are respectively allocated to the registers and by determining a priority for the register allocation of the split regions; a register assignment portion for permanently assigning registers for said candidatures for the split regions selected by said register allocation portion; and a register allocation and assignment retry control portion for retrying said register allocation portion and said register assignment portion. - View Dependent Claims (5)
-
Specification