A method and system for optimizing the execution of a software loop is
provided. The method involves the determination of an edge in a critical
recurrence cycle in the software loop. The edge is a dependency link
between two instructions and contains a dependee and a dependent. The
dependee is an instruction that produces a result, and the dependent is
an instruction that uses the result. The method further involves
performing predicate promotion of at least one of the dependee and the
dependent if one or more pre-determined conditions are met.