5.3.3 C*$* each_invariant_if_growth (0-100)

When a loop contains an IF statement whose condition does not change from one iteration to another, the same test must be repeated for every iteration. The code can often be made more efficient by floating the IF outside the loop and putting the THEN and ELSE sections into their own loops.

This gets more complicated when there is other code in the loop, because a copy of it must be included in both the THEN and ELSE loops. The C*$* each_invariant_if_growth directive allows you to limit the total additional lines of code generated through invariant-IF restructuring in each loop.

This can be controlled globally with the /each_invariant_if_ growth command qualifier. The maximum amount of additional code generated in a program unit through invariant-IF floating can be limited with the /max_invariant_if_growth qualifier and directive (see Section 5.3.5).

This directive is in effect to the end of the routine, or until it is reset by a succeeding directive of the same type.


Previous Page | Next Page | Contents | Index |
Command-Line Qualifiers