Patent ID: 7774766
Filing Date: 2010-08-10
Classification: G06F

Abstract:
1. A method comprising: receiving a source code having a critical recurrence cycle in a software loop; determining, prior to executing the source code on a processor, at least one edge in the critical recurrence cycle of the software loop, each edge comprising a dependee and a dependent; determining if a result of the dependee is live outside the critical recurrence cycle of the software loop; adding a first additional instruction in the software loop prior to the dependee if the result of the dependee is live outside the critical recurrence cycle of the software loop, the first additional instruction having a read operand of the dependee; performing reassociation of the dependee and the dependent of the at least one determined edge in the critical recurrence cycle of the software loop to form a reassociated software loop, the performing by swapping the read operand of the dependee with a read operand of the dependent; translating the reassociated software loop to a target code; and executing the target code by the processor.