A method of efficient code generation for modulo scheduled uncounted loops includes:
assigning a given stage predicate to each instruction in each stage, including
assigning a given stage predicate to each instruction in each speculative stage;
and using the stage predicate to conditionally enable or disable the execution
of an instruction during the prologue and epilogue execution.