| --- nested |
| B0 = EntryBlock() dominates:(B4) |
| v2 = Constant(0) |
| v7 = Constant(10) |
| v15 = Constant(5) |
| v21 = Constant(1) |
| v43 = Constant(3) |
| v59 = Constant(null) |
| v1 = Parameter(i) |
| Goto(B4) |
| B4 = JoinBlock(B0, B18) idom:B0 dominates:(B10, B9) loop-header (depth:1 body:(B4, B9, B12, B18, B17) back-edges:(B18)) |
| v64 = Phi(v2, v27) |
| v8 = Comparison int <(v64, v7) |
| Branch(v8, true: B9, false: B10) |
| B9 = TargetBlock() idom:B4 dominates:(B12) in-loop:B4 |
| Goto(B12) |
| B12 = JoinBlock(B9, B17) idom:B9 dominates:(B18, B17) loop-header (depth:2 body:(B12, B17) back-edges:(B17)) |
| v63 = Phi(v64, v22) |
| v16 = Comparison int <(v63, v15) |
| Branch(v16, true: B17, false: B18) |
| B17 = TargetBlock() idom:B12 in-loop:B12 |
| v22 = BinaryIntOp +(v63, v21) |
| DirectCall print(v22) |
| Goto(B12) |
| B18 = TargetBlock() idom:B12 in-loop:B4 |
| v27 = BinaryIntOp +(v63, v21) |
| Goto(B4) |
| B10 = TargetBlock() idom:B4 dominates:(B32) |
| DirectCall print(v1) |
| Goto(B32) |
| B32 = JoinBlock(B10, B46) idom:B10 dominates:(B37, B36) loop-header (depth:1 body:(B32, B36, B40, B46, B45) back-edges:(B46)) |
| v62 = Phi(v1, v61) |
| v35 = Comparison int <(v62, v7) |
| Branch(v35, true: B36, false: B37) |
| B36 = TargetBlock() idom:B32 dominates:(B40) in-loop:B32 |
| Goto(B40) |
| B40 = JoinBlock(B36, B45) idom:B36 dominates:(B46, B45) loop-header (depth:2 body:(B40, B45) back-edges:(B45)) |
| v65 = Phi(v2, v53) |
| v61 = Phi(v62, v50) |
| v44 = Comparison int <(v65, v43) |
| Branch(v44, true: B45, false: B46) |
| B45 = TargetBlock() idom:B40 in-loop:B40 |
| v50 = BinaryIntOp +(v61, v65) |
| v53 = BinaryIntOp +(v65, v21) |
| Goto(B40) |
| B46 = TargetBlock() idom:B40 in-loop:B32 |
| Goto(B32) |
| B37 = TargetBlock() idom:B32 |
| DirectCall print(v62) |
| Return(v59) |
| |
| --- chainedHeaders |
| B0 = EntryBlock() dominates:(B2) |
| Constant(17) |
| v11 = Constant(0) |
| v18 = Constant(2) |
| v25 = Constant(null) |
| v29 = Constant(-17) |
| v1 = Parameter(i) |
| Goto(B2) |
| B2 = JoinBlock(B0, B21) idom:B0 dominates:(B4) loop-header (depth:1 body:(B2, B4, B14, B21, B13) back-edges:(B21)) |
| v27 = Phi(v1, v30) |
| Goto(B4) |
| B4 = JoinBlock(B2, B13) idom:B2 dominates:(B14, B13) loop-header (depth:2 body:(B4, B13) back-edges:(B13)) |
| v28 = Phi(v27, v30) |
| v30 = BinaryIntOp +(v28, v29) |
| v12 = Comparison int >=(v30, v11) |
| Branch(v12, true: B13, false: B14) |
| B13 = TargetBlock() idom:B4 in-loop:B4 |
| Goto(B4) |
| B14 = TargetBlock() idom:B4 dominates:(B22, B21) in-loop:B2 |
| v19 = BinaryIntOp %(v30, v18) |
| v20 = Comparison int ==(v19, v11) |
| Branch(v20, true: B21, false: B22) |
| B21 = TargetBlock() idom:B14 in-loop:B2 |
| Goto(B2) |
| B22 = TargetBlock() idom:B14 |
| Return(v25) |
| |
| --- irreducible |
| B0 = EntryBlock() dominates:(B8, B34, B4, B3, B7) |
| v5 = Constant(1) |
| v11 = Constant(2) |
| v27 = Constant(10) |
| v38 = Constant(null) |
| v1 = Parameter(i) |
| v6 = Comparison int ==(v1, v5) |
| Branch(v6, true: B7, false: B8) |
| B7 = TargetBlock() idom:B0 |
| Goto(B3) |
| B8 = TargetBlock() idom:B0 dominates:(B14, B13) |
| v12 = Comparison int ==(v1, v11) |
| Branch(v12, true: B13, false: B14) |
| B13 = TargetBlock() idom:B8 |
| Goto(B4) |
| B4 = JoinBlock(B13, B3) idom:B0 dominates:(B30, B29) |
| v40 = Phi(v1, v20) |
| v24 = BinaryIntOp +(v40, v11) |
| v28 = Comparison int >(v24, v27) |
| Branch(v28, true: B29, false: B30) |
| B29 = TargetBlock() idom:B4 |
| Goto(B34) |
| B30 = TargetBlock() idom:B4 |
| Goto(B3) |
| B3 = JoinBlock(B30, B7) idom:B0 |
| v41 = Phi(v24, v1) |
| v20 = BinaryIntOp +(v41, v5) |
| Goto(B4) |
| B14 = TargetBlock() idom:B8 |
| Goto(B34) |
| B34 = JoinBlock(B14, B29) idom:B0 |
| Return(v38) |
| |
| --- main |
| B0 = EntryBlock() |
| v1 = Constant(null) |
| Return(v1) |
| |