next up previous contents index
Next: Loop fusion Up: Simple functions Previous: The loop unrolling and

Loop distribution

The loop distribution transformation cuts the body of a do-loop statement in two parts. The first statement of the second part specifies the cut position. For example, the following describes a loop distribution according to the statement I3:

$\vartriangleright$ Example 62: 

  DO I=1,N,4 
    PRINT *,I 
    PRINT *,I+1 
    PRINT *,I+2 
    PRINT *,I+3 
  END DO
$\longrightarrow$
  DO I=1,N
    PRINT *,I
    PRINT *,I+1   
  END DO   
  DO I=1,N 
    PRINT *,I+2 
    PRINT *,I+3 
  END DO

  $\blacktriangleright$ Fits:Distribute:Check(LOOP,DIAGMESG,STAT)
 
This functions check if the loop distribution transformation can be applied to LOOP.
  $\blacktriangleright$ Fits:Distribute:Advice(LOOP,DIAGMESG,STAT)
 
This function emits a diagnostic about the interest of the loop distribution transformation

  $\blacktriangleright$ Fits:Distribute:Safe(LOOP,DIAGMESG,STAT)
 
This function emits a diagnostic about the code produced by the loop distribution transformation

  $\blacktriangleright$ Fits:Distribute:Apply(LOOP,VERBOSE,STAT)
 
This function applies the loop distribution transformation.


next up previous contents index
Next: Loop fusion Up: Simple functions Previous: The loop unrolling and
Yann Mevel
1999-04-30