Protected_Apply tranformation to
Joint point on which the pass will be applied
Results of applying this pass to the given joint point
Protected_Yields all groups of fusable loops in the subtree (post-order), so that inner loops are fused before their containing scope is inspected.
Protected_Returns groups of consecutive range do-loops among the direct children
of $jp that share identical loop boundaries and can therefore be fused.
Any non-do-loop child (or a do-loop with different boundaries) breaks an ongoing group. Only groups of length ≥ 2 are returned.
The joinpoint whose direct children are inspected.
Applies this pass starting at the given join point. If no join point is given, uses the root join point
Joint point on which the pass will be applied
Results of applying this pass to the given joint point
Pass that fuses consecutive range do-loops with identical boundaries into a single loop (loop fusion), applied recursively across the subtree.
At each scope level, adjacent do-loops that share the same range control are grouped and fused into the first loop of each group.
Example