Class BackEdgePoints

java.lang.Object
org.ek9lang.compiler.phase9.BackEdgePoints
All Implemented Interfaces:
BiConsumer<OperationInstr, Supplier<IRInstr>>

public final class BackEdgePoints extends Object implements BiConsumer<OperationInstr, Supplier<IRInstr>>
THE back-edge placement of IR_OPTIMISATION: a point instruction at the end of every loop body of an operation - the back edge, reached once per iteration after the body's own scope has dropped its values - unless one of the same opcode is already last. SafePointPlacement places SAFE_POINT with it, CancelPointPlacement places CANCEL_POINT; isLoopBody(CompositeInstr.NestedList) is THE test of which nested list that is, for a verifier too. Use this - never a second walk of the loop bodies. Stateless: hold one.