blob: 568873ffb41d2fc051be3ef71aae1c5bcac0e602 [file] [log] [blame] [edit]
--- 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)