SPeCS Packages Documentation
    Preparing search index...

    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.

    const pass = new LoopFusionPass();
    pass.apply(Query.root());

    Hierarchy (View Summary)

    • Pass
      • LoopFusionPass
    Index
    _name: string = "LoopFusionPass"
    • get name(): string

      Returns string

      Name of the pass

    • 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.

      Parameters

      • $jp: Joinpoint

        The joinpoint whose direct children are inspected.

      Returns DoStatement[][]

    • Applies this pass starting at the given join point. If no join point is given, uses the root join point

      Parameters

      • $jp: LaraJoinPoint

        Joint point on which the pass will be applied

      Returns PassResult

      Results of applying this pass to the given joint point