blob: 3ea42dca1e70e89107d4775a68974bcc00cfb743 [file] [log] [blame] [edit]
--- test1
B0 = EntryBlock() dominates:(B11, B10)
Constant(1)
v8 = Constant(0)
v21 = Constant(-1)
v1 = Parameter(data)
v2 = Parameter(i)
v22 = BinaryIntOp +(v2, v21)
v7 = InterfaceCall List.[](v1, v22)
v9 = Comparison int >(v7, v8)
Branch(v9, true: B10, false: B11)
B10 = TargetBlock() idom:B0
v18 = InterfaceCall List.[](v1, v22)
Return(v18)
B11 = TargetBlock() idom:B0
Return(v8)
--- test2
B0 = EntryBlock() dominates:(B5, B7, B4)
v23 = Constant(0)
v28 = Constant(null)
v1 = Parameter(obj)
v3 = TypeTest(v1, String)
Branch(v3, true: B4, false: B5)
B4 = TargetBlock() idom:B0 dominates:(B17, B19, B16)
v10 = TypeCast(v1, String, unchecked)
v11 = InterfaceCall getter String.length(v10)
DirectCall print(v11)
v15 = InterfaceCall getter String.isNotEmpty(v10)
Branch(v15, true: B16, false: B17)
B16 = TargetBlock() idom:B4
v24 = InterfaceCall String.codeUnitAt(v10, v23)
DirectCall print(v24)
Goto(B19)
B17 = TargetBlock() idom:B4
Goto(B19)
B19 = JoinBlock(B17, B16) idom:B4
Goto(B7)
B5 = TargetBlock() idom:B0
Goto(B7)
B7 = JoinBlock(B5, B19) idom:B0
Return(v28)
--- test3
B0 = EntryBlock() dominates:(B7, B23, B29, B6)
v11 = Constant(5)
v18 = Constant(10)
v27 = Constant("case 1")
v45 = Constant("case 2")
v49 = Constant(null)
v1 = Parameter(value)
v5 = TypeTest(v1, int)
Branch(v5, true: B6, false: B7)
B6 = TargetBlock() idom:B0 dominates:(B14, B13)
v10 = TypeCast(v1, int, unchecked)
v12 = Comparison int >(v10, v11)
Branch(v12, true: B13, false: B14)
B13 = TargetBlock() idom:B6 dominates:(B21, B20)
v19 = Comparison int <(v10, v18)
Branch(v19, true: B20, false: B21)
B20 = TargetBlock() idom:B13
DirectCall print(v27)
Goto(B29)
B21 = TargetBlock() idom:B13
Goto(B23)
B14 = TargetBlock() idom:B6
Goto(B23)
B7 = TargetBlock() idom:B0
Goto(B23)
B23 = JoinBlock(B7, B14, B21) idom:B0 dominates:(B34, B42, B33)
Branch(v5, true: B33, false: B34)
B33 = TargetBlock() idom:B23 dominates:(B40, B39)
v37 = TypeCast(v1, int, unchecked)
v38 = Comparison int >(v37, v11)
Branch(v38, true: B39, false: B40)
B39 = TargetBlock() idom:B33
DirectCall print(v45)
Goto(B42)
B40 = TargetBlock() idom:B33
Goto(B42)
B34 = TargetBlock() idom:B23
Goto(B42)
B42 = JoinBlock(B34, B40, B39) idom:B23
Goto(B29)
B29 = JoinBlock(B42, B20) idom:B0
Return(v49)
--- main
B0 = EntryBlock()
v1 = Constant(null)
Return(v1)