LIR instructions such as StandardOp.JumpOp and StandardOp.BranchOp need to reference their target
AbstractBlockBase. However, direct references are not possible since the control flow
graph (and therefore successors lists) can be changed by optimizations - and fixing the
instructions is error prone. Therefore, we represent an edge to block B from block A via the
successor-index-of-B). That is, indirectly by storing the index into the successor list of A.
Note therefore that the successor list cannot be re-ordered.