6.4. If-Conversion ImprovementΒΆ

To mitigate the effect that control-flow statements inside a loop have on whether the loop is software pipelined, the compiler performs if-conversion on some if statements, which adds a predicate onto the instructions in the then and else clauses. See section If Statements and Nested If Statements for a primer on if-conversion. Because there are a limited number of machine predicate registers, and because of other factors, you should limit the nesting level of if-statements inside loops you hope will software pipeline.