next up previous contents index
Next: Loop distribution Up: Simple functions Previous: Loop removing transformation

The loop unrolling and jam transformation

The unrolling and jam transformation must be applied to a perfect nest of do-loop statements. It unrolls the body of one of the inner loops according to the outer loop variable index. When the inner loop is the outer loop (the inner loop of level 0), the unrolling and jam transformation is equivalent to a classical loop unrolling. The knowledge of the sign SIGN of the outer loop step is necessary to obtain an efficient unrolling. This information can be computed automatically or can be specified by the user.

  $\blacktriangleright$ Fits:UnrollJam:Check(AST,DIAGMESG,LEVEL,FACTOR)
 
This functions check if the unrolling and jam transformation can be applied to AST.

  $\blacktriangleright$ Fits:UnrollJam:Advice(AST,DIAGMESG,LEVEL,FACTOR)
 
This function emits a diagnostic about the interest of the loop unrolling transformation

  $\blacktriangleright$ Fits:UnrollJam:Safe(AST,DIAGMESG,LEVEL,FACTOR)
 
This function emits a diagnostic about the code produced by the transformation
  $\blacktriangleright$ Fits:UnrollJam:Apply(DESC,LEVEL,FACTOR)
 
This function applies the unroll-and-jam transformation to the loop specified by the descriptor DESC.


next up previous contents index
Next: Loop distribution Up: Simple functions Previous: Loop removing transformation
Yann Mevel
1999-04-30