6.2.7 C*$* assert relation ( <name> .XX. <variable/constant>)

The C*$* assert relation (where XX=GT,LT,LE, etc) ( <name> .XX. <variable/constant> ) assertion indicates the relationship between two variables or between a variable and a (possibly signed) constant. When attempting to optimize a loop, KAP occasionally asks about such relationships, as in the following example:

DO 100 I = 4,N
         A(I) = A(I+M) + B(I)
     100  CONTINUE

KAP generates this question in the source code section of the listing file:

Is "M .GE. N" in this loop?

If M will always be greater than N at this point in the program, you can relay this information to KAP using an assertion.

Again, note that KAP cannot check the validity of assertions. With the assertion that M is greater than the loop upper bound, KAP can generate optimized code for this loop. If at run time M turned out to be less than N , the results produced by the optimized code would probably be different than the results produced by the original loop.

This assertion is in effect only for the DO loop before which it appears.


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