7.1.4 DO Loop Level

The switches, -inline_looplevel=<n> [-inll] and -ipa_looplevel=<n> [-ipall], set a minimum DO loop nest level for CALL/function reference expansion. The -inline_looplevel and -ipa_looplevel switches enable you to limit inlining and IPA to just routines that are referenced in nested loops, where the reduced call overhead or enhanced optimization will be multiplied.

The argument is defined from the most deeply nested leaf of the call tree. The default, 10, allows inlining (IPA) for the 10 deepest nest levels, for example:

 PROGRAM MAIN
  ..
   CALL A ---> SUBROUTINE A
 ..
    DO
     DO
       CALL B --> SUBROUTINE B
     ENDDO  DO
     ENDDO  DO
        CALL C ---> SUBROUTINE C
     ENDDO
    ENDDO

The CALL B is inside a doubly nested loop, and would be more profitable to expand than the CALL A . The CALL C is quadruply nested, so inlining C would yield the biggest gain of the three.

The argument is defined from the most deeply nested CALL or function reference:


Previous Page | Next Page | Contents | Index |
Command Line Switches