Claims Analysis
Total Claims: 36
Claim 1
Independent Claim
128 words
A machine-readable medium having stored thereon sequences of instructions that when executed by a processor cause the processor to: a) compute a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) apply instruction level parallelism transformations on the program loop; c) apply single iteration scheduling on the program loop; d) percolate selected instructions to a prior iteration of the program loop to generate a new instruction order for the program loop; e) repeat b) through d) as long as a previous single iteration length of the program loop is greater than or equal to a current single iteration schedule length of the program loop and the current single iteration schedule length exceeds the minimum initiation interval.
Claim 2
Dependent Claim
128 words
A machine-readable medium having stored thereon sequences of instructions that when executed by a processor cause the processor to: a) compute a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) apply instruction level parallelism transformations on the program loop; c) apply single iteration scheduling on the program loop; d) percolate selected instructions to a prior iteration of the program loop to generate a new instruction order for the program loop; e) repeat b) through d) as long as a previous single iteration length of the program loop is greater than or equal to a current single iteration schedule length of the program loop and the current single iteration schedule length exceeds the minimum initiation interval.
Claim 3
Dependent Claim
209 words
A machine-readable medium having stored thereon sequences of instructions that when executed by a processor cause the processor to: a) compute a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) save the program loop as a recorded program loop; c) apply instruction level parallelism transformations on the program loop to produce a revised program loop; d) apply single iteration scheduling on the revised program loop; e) determine a single iteration schedule length, SL, of the revised program loop; f) restore the recorded program loop as the revised program loop, if a previous length is not greater than SL; g) perform the following if the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval: i) equate the previous length to SL; and ii) percolate selected instructions of the revised program loop to a prior iteration of the revised program loop; h) repeat b) through g) as long as the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval; i) generate a loop prologue for the revised program loop; and j) generate a loop epilogue for the revised program loop.
Claim 4
Dependent Claim
209 words
A machine-readable medium having stored thereon sequences of instructions that when executed by a processor cause the processor to: a) compute a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) save the program loop as a recorded program loop; c) apply instruction level parallelism transformations on the program loop to produce a revised program loop; d) apply single iteration scheduling on the revised program loop; e) determine a single iteration schedule length, SL, of the revised program loop; f) restore the recorded program loop as the revised program loop, if a previous length is not greater than SL; g) perform the following if the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval: i) equate the previous length to SL; and ii) percolate selected instructions of the revised program loop to a prior iteration of the revised program loop; h) repeat b) through g) as long as the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval; i) generate a loop prologue for the revised program loop; and j) generate a loop epilogue for the revised program loop.
Claim 5
Dependent Claim
147 words
A machine-readable medium having stored thereon sequences of instructions that when executed cause the processor to: a) compute a minimum initiation interval of a current loop having a single control flow entry and at least one control flow exit; b) apply instruction level parallelism transformations on the current loop to generate a transformed loop, wherein the current loop becomes a previous loop and the transformed loop becomes the current loop; c) apply single iteration scheduling on the current loop; d) percolate selected instructions of the current loop to a prior iteration of the current loop to generate a new instruction order for the current loop; and e) repeat b) through d) as long as a previous loop single iteration schedule length is greater than or equal to a current loop single iteration schedule length and the current loop single iteration schedule length exceeds the minimum iteration interval.
Claim 6
Dependent Claim
147 words
A machine-readable medium having stored thereon sequences of instructions that when executed cause the processor to: a) compute a minimum initiation interval of a current loop having a single control flow entry and at least one control flow exit; b) apply instruction level parallelism transformations on the current loop to generate a transformed loop, wherein the current loop becomes a previous loop and the transformed loop becomes the current loop; c) apply single iteration scheduling on the current loop; d) percolate selected instructions of the current loop to a prior iteration of the current loop to generate a new instruction order for the current loop; and e) repeat b) through d) as long as a previous loop single iteration schedule length is greater than or equal to a current loop single iteration schedule length and the current loop single iteration schedule length exceeds the minimum iteration interval.
Claim 7
Dependent Claim
43 words
The machine-readable medium of claim 3 further comprising sequences of instructions that when executed cause the processor to: f) select the previous loop as the current loop, if the current loop single iteration schedule length exceeds the previous loop single iteration schedule length.
Claim 8
Dependent Claim
31 words
The machine-readable medium of claim 3 further comprising sequences of instructions that when executed cause the processor to: g) generate a current loop prologue; and h) generate a current loop epilogue.
Claim 9
Dependent Claim
15 words
The machine-readable medium of claim 3 wherein the instruction level parallelism transformations include constant combining.
Claim 10
Dependent Claim
15 words
The machine-readable medium of claim 3 wherein the instruction level parallelism transformations include operation combining.
Claim 11
Dependent Claim
17 words
The machine-readable medium of claim 3 wherein the instruction level parallelism transformations include software based register renaming.
Claim 12
Dependent Claim
16 words
The machine-readable medium of claim 3 wherein the instruction level parallelism transformations include an LHS/RHS transformation.
Claim 13
Independent Claim
122 words
An apparatus comprising: a) means for computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) means for applying instruction level parallelism transformations on the program loop; c) means for applying single iteration scheduling on the program loop; d) means for percolating selected instructions to a prior iteration of the program loop to generate a new instruction order for the program loop; e) means for repeating b) through d) as long as a previous single iteration length of the program loop is greater than or equal to a current single iteration schedule length of the program loop and the current single iteration schedule length exceeds the minimum initiation interval.
Claim 14
Independent Claim
122 words
An apparatus comprising: a) means for computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) means for applying instruction level parallelism transformations on the program loop; c) means for applying single iteration scheduling on the program loop; d) means for percolating selected instructions to a prior iteration of the program loop to generate a new instruction order for the program loop; e) means for repeating b) through d) as long as a previous single iteration length of the program loop is greater than or equal to a current single iteration schedule length of the program loop and the current single iteration schedule length exceeds the minimum initiation interval.
Claim 15
Independent Claim
209 words
An apparatus comprising: a) means for computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) means for saving the program loop as a recorded program loop; c) means for applying instruction level parallelism transformations on the program loop to produce a revised program loop; d) means for applying single iteration scheduling on the revised program loop; e) means for determining a single iteration schedule length, SL, of the revised program loop; f) means for restoring the recorded program loop as the revised program loop, if a previous length is not greater than SL; g) means for performing the following if the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval: i) equating the previous length to SL; and ii) percolating selected instructions of the revised program loop to a prior iteration of the revised program loop; h) means for repeating b) through g) as long as the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval; i) generate a loop prologue for the revised program loop; and j) generate a loop epilogue for the revised program loop.
Claim 16
Independent Claim
209 words
An apparatus comprising: a) means for computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) means for saving the program loop as a recorded program loop; c) means for applying instruction level parallelism transformations on the program loop to produce a revised program loop; d) means for applying single iteration scheduling on the revised program loop; e) means for determining a single iteration schedule length, SL, of the revised program loop; f) means for restoring the recorded program loop as the revised program loop, if a previous length is not greater than SL; g) means for performing the following if the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval: i) equating the previous length to SL; and ii) percolating selected instructions of the revised program loop to a prior iteration of the revised program loop; h) means for repeating b) through g) as long as the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval; i) generate a loop prologue for the revised program loop; and j) generate a loop epilogue for the revised program loop.
Claim 17
Independent Claim
144 words
An apparatus comprising: a) means for computing a minimum initiation interval of a current loop having a single control flow entry and at least one control flow exit; b) means for applying instruction level parallelism transformations on the current loop to generate a transformed loop, wherein the current loop becomes a previous loop and the transformed loop becomes the current loop; c) means for applying single iteration scheduling on the current loop; d) means for percolating selected instructions of the current loop to a prior iteration of the current loop to generate a new instruction order for the current loop; and e) means for repeating b) through d) as long as a previous loop single iteration schedule length is greater than or equal to a current loop single iteration schedule length and the current loop single iteration schedule length exceeds the minimum iteration interval.
Claim 18
Independent Claim
144 words
An apparatus comprising: a) means for computing a minimum initiation interval of a current loop having a single control flow entry and at least one control flow exit; b) means for applying instruction level parallelism transformations on the current loop to generate a transformed loop, wherein the current loop becomes a previous loop and the transformed loop becomes the current loop; c) means for applying single iteration scheduling on the current loop; d) means for percolating selected instructions of the current loop to a prior iteration of the current loop to generate a new instruction order for the current loop; and e) means for repeating b) through d) as long as a previous loop single iteration schedule length is greater than or equal to a current loop single iteration schedule length and the current loop single iteration schedule length exceeds the minimum iteration interval.
Claim 19
Dependent Claim
34 words
The apparatus of claim 12 further comprising: f) means for selecting the previous loop as the current loop, if the current loop single iteration schedule length exceeds the previous loop single iteration schedule length.
Claim 20
Dependent Claim
24 words
The apparatus of claim 12 further comprising: g) means for generating a current loop prologue; and h) means for generating a current loop epilogue.
Claim 21
Dependent Claim
14 words
The apparatus of claim 12 wherein the instruction level parallelism transformations include constant combining.
Claim 22
Dependent Claim
14 words
The apparatus of claim 12 wherein the instruction level parallelism transformations include operation combining.
Claim 23
Dependent Claim
16 words
The apparatus of claim 12 wherein the instruction level parallelism transformations include software based register renaming.
Claim 24
Dependent Claim
15 words
The apparatus of claim 12 wherein the instruction level parallelism transformations include an LHS/RHS transformation.
Claim 25
Independent Claim
137 words
A system comprising: a memory to store a sequence of instructions; a processor coupled to the memory, the processor scheduling the sequence of instructions within a loop by a) computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) applying instruction level parallelism transformations on the program loop; c) applying single iteration scheduling on the program loop; d) percolating selected instructions to a prior iteration of the program loop to generate a new instruction order for the program loop; e) repeating b) through d) as long as a previous single iteration length of the program loop is greater than or equal to a current single iteration schedule length of the program loop and the current single iteration schedule length exceeds the minimum initiation interval.
Claim 26
Independent Claim
137 words
A system comprising: a memory to store a sequence of instructions; a processor coupled to the memory, the processor scheduling the sequence of instructions within a loop by a) computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) applying instruction level parallelism transformations on the program loop; c) applying single iteration scheduling on the program loop; d) percolating selected instructions to a prior iteration of the program loop to generate a new instruction order for the program loop; e) repeating b) through d) as long as a previous single iteration length of the program loop is greater than or equal to a current single iteration schedule length of the program loop and the current single iteration schedule length exceeds the minimum initiation interval.
Claim 27
Independent Claim
218 words
A system comprising: a memory to store a sequence of instructions; a processor coupled to the memory, the processor scheduling the sequence of instructions within a loop by a) computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) saving the program loop as a recorded program loop; c) applying instruction level parallelism transformations on the program loop to produce a revised program loop; d) applying single iteration scheduling on the revised program loop; e) determining a single iteration schedule length, SL, of the revised program loop; f) restoring the recorded program loop as the revised program loop, if a previous length is not greater than SL; g) performing the following if the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval: i) equating the previous length to SL; and ii) percolating selected instructions of the revised program loop to a prior iteration of the revised program loop; h) repeating b) through g) as long as the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval; i) generating a loop prologue for the revised program loop; and j) generating a loop epilogue for the revised program loop.
Claim 28
Independent Claim
218 words
A system comprising: a memory to store a sequence of instructions; a processor coupled to the memory, the processor scheduling the sequence of instructions within a loop by a) computing a minimum initiation interval of a program loop having a single control flow entry and at least one control flow exit; b) saving the program loop as a recorded program loop; c) applying instruction level parallelism transformations on the program loop to produce a revised program loop; d) applying single iteration scheduling on the revised program loop; e) determining a single iteration schedule length, SL, of the revised program loop; f) restoring the recorded program loop as the revised program loop, if a previous length is not greater than SL; g) performing the following if the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval: i) equating the previous length to SL; and ii) percolating selected instructions of the revised program loop to a prior iteration of the revised program loop; h) repeating b) through g) as long as the previous length is greater than or equal to SL and SL is greater than the minimum initiation interval; i) generating a loop prologue for the revised program loop; and j) generating a loop epilogue for the revised program loop.
Claim 29
Independent Claim
159 words
A system comprising: a memory to store a sequence of instructions; a processor coupled to the memory, the processor scheduling the sequence of instructions within a loop by a) computing a minimum initiation interval of a current loop having a single control flow entry and at least one control flow exit; b) applying instruction level parallelism transformations on the current loop to generate a transformed loop, wherein the current loop becomes a previous loop and the transformed loop becomes the current loop; c) applying single iteration scheduling on the current loop; d) percolating selected instructions of the current loop to a prior iteration of the current loop to generate a new instruction order for the current loop; and e) repeating b) through d) as long as a previous loop single iteration schedule length is greater than or equal to a current loop single iteration schedule length and the current loop single iteration schedule length exceeds the minimum iteration interval.
Claim 30
Independent Claim
159 words
A system comprising: a memory to store a sequence of instructions; a processor coupled to the memory, the processor scheduling the sequence of instructions within a loop by a) computing a minimum initiation interval of a current loop having a single control flow entry and at least one control flow exit; b) applying instruction level parallelism transformations on the current loop to generate a transformed loop, wherein the current loop becomes a previous loop and the transformed loop becomes the current loop; c) applying single iteration scheduling on the current loop; d) percolating selected instructions of the current loop to a prior iteration of the current loop to generate a new instruction order for the current loop; and e) repeating b) through d) as long as a previous loop single iteration schedule length is greater than or equal to a current loop single iteration schedule length and the current loop single iteration schedule length exceeds the minimum iteration interval.
Claim 31
Dependent Claim
39 words
The system of claim 21 wherein the processor further schedules the sequence of instructions by selecting the previous loop as the current loop, if the current loop single iteration schedule length exceeds the previous loop single iteration schedule length.
Claim 32
Dependent Claim
28 words
The system of claim 21 wherein the processor further schedules the sequence of instructions by: g) generating a current loop prologue; and h) generating a current loop epilogue.
Claim 33
Dependent Claim
14 words
The system of claim 21 wherein the instruction level parallelism transformations include constant combining.
Claim 34
Dependent Claim
14 words
The system of claim 21 wherein the instruction level parallelism transformations include operation combining.
Claim 35
Dependent Claim
16 words
The system of claim 21 wherein the instruction level parallelism transformations include software based register renaming.
Claim 36
Dependent Claim
15 words
The system of claim 21 wherein the instruction level parallelism transformations include an LHS/RHS transformation.