Patent ID: 7712091

Claim:
A method comprising: determining at least one edge in a critical recurrence cycle in a software loop, each edge comprising a dependee and a dependent, wherein the dependee comprises a first instruction that produces a result, the dependent comprises a second instruction that uses the result, the dependee and the dependent are associated with a virtual predicate register, and the virtual predicate register includes a value used to determine whether to execute the first and second instruction; and for each of the at least one edge, disassociating the virtual predicate register from the dependee of the edge if a plurality of pre-determined conditions are met, wherein disassociating the virtual predicate register from the dependee is performed such that logic of the software loop is maintained, wherein the plurality of pre-determined conditions includes the edge being a loop-independent edge, wherein the edge is a loop-independent edge if the dependee and the dependent are executed in same iteration of the software loop, the dependee not being a load instruction and the dependee not being a store instruction.