Patent ID: 7506331
Filing Date: 2009-03-17
Classification: G06F

Abstract:
1. A method in a data processing system for processing instructions, the method comprising: building a data dependency graph for a loop, wherein the loop comprises overlapping iterations; analyzing the data dependency graph to identify recurrences, wherein recurrences are instructions that have cyclic data dependencies; expanding each unpipelined instruction that lies outside of the recurrences, wherein a sequence of pipelined instructions is formed and associated with the each unpipelined instruction and wherein unpipelined instructions that lie inside the recurrences remain unexpanded; selecting an unpipelined instruction to form a first selected unpipelined instruction; referencing a table to determine whether the first selected unpipelined instruction is associated with the sequence of pipelined instructions; responsive to determining that the first selected unpipelined instruction is associated with a sequence of pipelined instructions, replacing the first selected unpipelined instruction with the sequence of pipelined instructions; referencing a table to determine whether a second unpipelined instruction lies outside the recurrences; and responsive to determining that a second unpipelined instruction exists, selecting the second unpipelined instruction, to form a second selected unpipelined instruction; determining whether the second selected unpipelined instruction is associated with the sequence of pipelined instructions; and responsive to determining that the second selected unpipelined instruction is associated with a second sequence of pipelined instructions, replacing the second selected unpipelined instruction with the sequence of pipelined instructions.