Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
185 words
A method operable within an optimizing compiler for generating Basis items and Kill Sets for use during subsequent global common subexpression elimination and code motion procedures, said method comprising: creating a tuple (v) for each computation which is to be converted to a machine instruction by the compiler, creating a table having an entry for all the tuples in the program being compiled, assigning a symbolic register to each tuple created, for every Basis item in a tuple being entered in the table adding to the Kill Set for that Basis item, a symbolic register uniquely assigned to that tuple, for every non-basis item "n" in the tuple being entered into the table, adding the uniquely assigned symbolic register for that tuple to the Kill Sets for all the Basis items in whose Kill Sets that non-basis item "n" appears, designating the symbolic register assigned to the tuple in the table to the result of the computation of the non-basis element, and constructing a second table of assigned symbolic registers whereby the computation to which each symbolic register has been assigned can be readily retrieved.
Claim 2
Independent Claim
185 words
A method operable within an optimizing compiler for generating Basis items and Kill Sets for use during subsequent global common subexpression elimination and code motion procedures, said method comprising: creating a tuple (v) for each computation which is to be converted to a machine instruction by the compiler, creating a table having an entry for all the tuples in the program being compiled, assigning a symbolic register to each tuple created, for every Basis item in a tuple being entered in the table adding to the Kill Set for that Basis item, a symbolic register uniquely assigned to that tuple, for every non-basis item "n" in the tuple being entered into the table, adding the uniquely assigned symbolic register for that tuple to the Kill Sets for all the Basis items in whose Kill Sets that non-basis item "n" appears, designating the symbolic register assigned to the tuple in the table to the result of the computation of the non-basis element, and constructing a second table of assigned symbolic registers whereby the computation to which each symbolic register has been assigned can be readily retrieved.
Claim 3
Independent Claim
58 words
A method operable within an optimizing compiler for generating Basis items and Kill Sets for use during subsequent global common subexpressions elimination and code motion procedures, said method comprising assigning a symbolic register designation to each non-basis items in the program being compiled, whereby the computation to which each symbolic register has been assigned can be readily retrieved.
Claim 4
Independent Claim
58 words
A method operable within an optimizing compiler for generating Basis items and Kill Sets for use during subsequent global common subexpressions elimination and code motion procedures, said method comprising assigning a symbolic register designation to each non-basis items in the program being compiled, whereby the computation to which each symbolic register has been assigned can be readily retrieved.
Claim 5
Dependent Claim
37 words
A method operable within an optimizing compiler as set forth in claim 2 including instructing a list for each Basis item comprising: all of the symbolic register designations for every non-basis item dependent upon that basis item.
Claim 6
Independent Claim
95 words
A method operable within an optimizing compiler for generating Basis items and Kill Sets for use during subsequent global common subexpression elimination and code motion procedures, said method comprising: creating a tuple (v) for each computation which is to be converted to a machine instruction by the compiler, creating a hash table having an entry for all the tuples in the program being compiled, assigning a symbolic register to each tuple created, and creating a list of said assigned symbolic registers addressable by register designation containing the tuple to which that symbolic register is assigned.
Claim 7
Independent Claim
95 words
A method operable within an optimizing compiler for generating Basis items and Kill Sets for use during subsequent global common subexpression elimination and code motion procedures, said method comprising: creating a tuple (v) for each computation which is to be converted to a machine instruction by the compiler, creating a hash table having an entry for all the tuples in the program being compiled, assigning a symbolic register to each tuple created, and creating a list of said assigned symbolic registers addressable by register designation containing the tuple to which that symbolic register is assigned.
Claim 8
Independent Claim
216 words
A method operable within an optimizing compiler for use during subsequent global common subexpression elimination and code motion which comprise, evaluating the program and deriving a list of Basis items contained therein, creating a tuple (v) for each computation which is to be converted to a machine instruction by the computer, creating a hash table having an entry for every potential tuple in the program being compiled, as each tuple is generated by the compiler performing the following steps: (1) computing a hash address for the tuple (2) determining if an entry already exists for that tuple, (3) if an entry exists in the hash table (symbolic register designation r) returning r to the system controls (4) if no entry exists in the hash table for that tuple, assigning a unique symbolic register r to that tuple and storing same at the specific address in the hash table (5) determining how many operands are in the tuple and processing each as follows: (6) for each operand, if it is in the Basis storing the symbolic register designation r in that operands Kill Set (7) if the operand is not in the Basis storing the symbolic register designation is in every Kill Set containing that operand, (8) returning to step 4 after all operands have been evaluated.
Claim 9
Independent Claim
216 words
A method operable within an optimizing compiler for use during subsequent global common subexpression elimination and code motion which comprise, evaluating the program and deriving a list of Basis items contained therein, creating a tuple (v) for each computation which is to be converted to a machine instruction by the computer, creating a hash table having an entry for every potential tuple in the program being compiled, as each tuple is generated by the compiler performing the following steps: (1) computing a hash address for the tuple (2) determining if an entry already exists for that tuple, (3) if an entry exists in the hash table (symbolic register designation r) returning r to the system controls (4) if no entry exists in the hash table for that tuple, assigning a unique symbolic register r to that tuple and storing same at the specific address in the hash table (5) determining how many operands are in the tuple and processing each as follows: (6) for each operand, if it is in the Basis storing the symbolic register designation r in that operands Kill Set (7) if the operand is not in the Basis storing the symbolic register designation is in every Kill Set containing that operand, (8) returning to step 4 after all operands have been evaluated.
Claim 10
Independent Claim
53 words
A method operable within an optimizing compiler for selecting a `Basis` without analyzing the program by including the following items into the `Basis`: all user variables, and all descriptors of user variables, pointers to run-time stacks and heaps in which data objects are allocated, pointers to object code, distinguished compiler generated temporary results.
Claim 11
Independent Claim
53 words
A method operable within an optimizing compiler for selecting a `Basis` without analyzing the program by including the following items into the `Basis`: all user variables, and all descriptors of user variables, pointers to run-time stacks and heaps in which data objects are allocated, pointers to object code, distinguished compiler generated temporary results.