1. A method of handling predicated code in an out-of-order processor, the method comprising: recognizing a predicate defining instruction within a renaming stage of a branch pipeline of the out-of-order processor, wherein the predicate defining instruction is associated with a predicated code region, and wherein the out-of-order processor comprises a plurality of pipelines comprising at least: the branch pipeline, one or more load-storage pipelines, one or more fixed-point pipelines, one or more floating point pipelines, and a condition register logical operation pipeline; decoding the predicate defining instruction, wherein the predicate defining instruction includes an instruction that when executed sets a result including a predicate value of a predicate on which one or more subsequent instructions is predicated; decoding a plurality of predicated instructions included within the predicated code region; in response to detecting a predicate defining instruction within the renaming stage, storing a mask associated with the predicate defining instruction in a mask shift register of the renaming stage of the branch pipeline, wherein the mask indicates whether each instruction of the plurality of predicated instructions belongs to the one or more predicated instructions that are associated with a first path or the one or more predicated instructions that are associated with a second path; determining whether the predicate value is available; in response to determining the predicate value is not available, stalling, at the renaming stage of the branch pipeline, register renaming for the plurality of predicated instructions until the predicate is resolved, wherein the predicate is resolved by executing the predicate defining instruction; receiving an indication that predicate defining instruction has been executed; and in response to the predicate being resolved: receiving, at the renaming stage, the predicate value from an execution stage of the instruction pipeline, wherein the renaming stage and the execution stage are directly connected via a data path; performing, via the renaming stage of the out-of-order processor, an exclusive NOR function on the predicate and the stored mask; identifying from an output of the exclusive NOR function: a first one or more predicated instructions of the plurality of predicated instructions that are associated with a taken path from among the first path and the second path and are to be renamed and executed; and a second one or more predicated instructions of the plurality of predicated instructions that are associated with a not taken path from among the first path and the second path and are to be discarded; renaming the first one or more predicated instructions that are associated with the taken path by mapping logical register numbers in an instruction to physical registers; and executing the one or more renamed predicated instructions.