blob: 6b714ed1edc28f1c1b163b156d83b41fc2bf7f4b [file] [log] [blame] [edit]
--- test1
B0 = EntryBlock()
Constant(0)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v7 = Comparison int & == 0(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove input(vloc:R0 -> R0)
Return(v7) # RA: (R0)
--- test2
B0 = EntryBlock() dominates:(B9, B11, B8)
Constant(0)
v13 = Constant("yes")
v25 = Constant("no")
v28 = Constant(null)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v7 = Comparison int & == 0(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove spill(R0 -> stack[0])
Branch(v7, true: B8, false: B9) # RA: (R0)
B8 = TargetBlock() idom:B0
DirectCall print(v13) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B11)
B9 = TargetBlock() idom:B0
Goto(B11)
B11 = JoinBlock(B9, B8) idom:B0 dominates:(B21, B23, B20)
ParallelMove split(stack[0] -> R0)
Branch(v7, true: B20, false: B21) # RA: (R0)
B20 = TargetBlock() idom:B11
Goto(B23)
B21 = TargetBlock() idom:B11
DirectCall print(v25) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B23)
B23 = JoinBlock(B21, B20) idom:B11
ParallelMove input(NullConstant(null) -> R0)
Return(v28) # RA: (R0)
--- test3
B0 = EntryBlock() dominates:(B11, B13, B10)
Constant(0)
v15 = Constant("yes")
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v7 = Comparison int & == 0(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove spill(R0 -> stack[0])
Branch(v7, true: B10, false: B11) # RA: (R0)
B10 = TargetBlock() idom:B0
DirectCall print(v15) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B13)
B11 = TargetBlock() idom:B0
Goto(B13)
B13 = JoinBlock(B11, B10) idom:B0
ParallelMove split(stack[0] -> R0)
ParallelMove input(vloc:R0 -> R0)
Return(v7) # RA: (R0)
--- test4
B0 = EntryBlock() dominates:(B8, B14, B16, B7)
v19 = Constant(1)
v30 = Constant(2)
v33 = Constant(null)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(b) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v3 = Parameter(c) # RA: param[2] <- ()
ParallelMove output(param[2] -> vloc:R2)
v6 = Comparison int >(v1, v2) # RA: R0 <- (R0, R1)
ParallelMove spill(R0 -> stack[0])
Branch(v6, true: B7, false: B8) # RA: (R0)
B7 = TargetBlock() idom:B0
Goto(B16)
B8 = TargetBlock() idom:B0 dominates:(B12, B11)
Branch(v3, true: B11, false: B12) # RA: (R2)
B11 = TargetBlock() idom:B8
Goto(B16)
B16 = JoinBlock(B11, B7) idom:B0
DirectCall print(v19) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B14)
B12 = TargetBlock() idom:B8
Goto(B14)
B14 = JoinBlock(B12, B16) idom:B0 dominates:(B26, B28, B25)
ParallelMove split(stack[0] -> R0)
Branch(v6, true: B25, false: B26) # RA: (R0)
B25 = TargetBlock() idom:B14
DirectCall print(v30) # RA: R0 <- (-) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
Goto(B28)
B26 = TargetBlock() idom:B14
Goto(B28)
B28 = JoinBlock(B26, B25) idom:B14
ParallelMove input(NullConstant(null) -> R0)
Return(v33) # RA: (R0)
--- test5
B0 = EntryBlock() dominates:(B7, B6)
v3 = Constant(32)
v11 = Constant(1)
v14 = Constant(16)
v16 = Constant(8)
v23 = Constant(2)
v25 = Constant(257)
v37 = Constant(3)
v47 = Constant(4)
v50 = Constant(7)
v58 = Constant(5)
v62 = Constant(-1)
v1 = Parameter(a) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
CompareAndBranch int & != 0(v1, v3, true: B6, false: B7) # RA: (R0, -)
B6 = TargetBlock() idom:B0
ParallelMove input(IntConstant(1) -> R0)
Return(v11) # RA: (R0)
B7 = TargetBlock() idom:B0 dominates:(B19, B18)
v15 = BinaryIntOp &(v1, v14) # RA: R1 <- (R0, -)
CompareAndBranch int ==(v15, v16, true: B18, false: B19) # RA: (R1, -)
B18 = TargetBlock() idom:B7
ParallelMove input(IntConstant(2) -> R0)
Return(v23) # RA: (R0)
B19 = TargetBlock() idom:B7 dominates:(B33, B32)
v29 = BinaryIntOp &(v1, v25) # RA: R1 <- (R0, -)
CompareAndBranch int ==(v29, v25, true: B32, false: B33) # RA: (R1, -)
B32 = TargetBlock() idom:B19
ParallelMove input(IntConstant(3) -> R0)
Return(v37) # RA: (R0)
B33 = TargetBlock() idom:B19 dominates:(B43, B42)
CompareAndBranch int & != 0(v1, v16, true: B42, false: B43) # RA: (R0, -)
B42 = TargetBlock() idom:B33 dominates:(B54, B53)
v51 = BinaryIntOp &(v1, v50) # RA: R0 <- (R0, -)
CompareAndBranch int ==(v51, v50, true: B53, false: B54) # RA: (R0, -)
B53 = TargetBlock() idom:B42
ParallelMove input(IntConstant(-1) -> R0)
Return(v62) # RA: (R0)
B54 = TargetBlock() idom:B42
ParallelMove input(IntConstant(5) -> R0)
Return(v58) # RA: (R0)
B43 = TargetBlock() idom:B33
ParallelMove input(IntConstant(4) -> R0)
Return(v47) # RA: (R0)
--- listLiterals
B0 = EntryBlock()
v3 = Constant(<dynamic>)
v4 = Constant(0)
v10 = Constant(<int>)
v11 = Constant(1)
v12 = Constant(2)
v13 = Constant(3)
v16 = Constant(4)
v17 = Constant(5)
v18 = Constant(6)
v19 = Constant(7)
v20 = Constant(8)
v21 = Constant(9)
v36 = Constant(null)
v1 = Parameter(x) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = TypeParameters() # RA: R1 <- ()
ParallelMove spill(R1 -> stack[0])
v5 = DirectCall _GrowableList.(v3, v4) # RA: R0 <- (-, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v5) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(stack[0] -> R1)
v7 = TypeArguments(v2, <listLiterals.T%>) # RA: R0 <- (R1)
ParallelMove spill(R0 -> stack[1])
v8 = DirectCall _GrowableList.(v7, v4) # RA: R0 <- (R0, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v8) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
v14 = DirectCall _GrowableList._literal3(v10, v11, v12, v13) # RA: R0 <- (-, -, -, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v14) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(9) -> vloc:R0)
v38 = AllocateList(v21) # RA: R0 <- (R0)
ParallelMove input(IntConstant(0) -> vloc:R2, IntConstant(1) -> vloc:R1)
SetListElement(v38, v4, v11) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(1) -> vloc:R2, IntConstant(2) -> vloc:R1)
SetListElement(v38, v11, v12) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(2) -> vloc:R2, IntConstant(3) -> vloc:R1)
SetListElement(v38, v12, v13) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(3) -> vloc:R2, IntConstant(4) -> vloc:R1)
SetListElement(v38, v13, v16) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(4) -> vloc:R1, IntConstant(5) -> vloc:R2)
SetListElement(v38, v16, v17) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(5) -> vloc:R1, IntConstant(6) -> vloc:R2)
SetListElement(v38, v17, v18) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(6) -> vloc:R1, IntConstant(7) -> vloc:R2)
SetListElement(v38, v18, v19) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(7) -> vloc:R2, IntConstant(8) -> vloc:R1)
SetListElement(v38, v19, v20) # RA: (R0, R2, R1)
ParallelMove input(IntConstant(8) -> vloc:R1, IntConstant(9) -> vloc:R2)
SetListElement(v38, v20, v21) # RA: (R0, R1, R2)
v48 = DirectCall _GrowableList._literal(v10, v38) # RA: R0 <- (-, R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v48) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(9) -> vloc:R0)
v49 = AllocateList(v21) # RA: R0 <- (R0)
ParallelMove split(param[0] -> R2)
ParallelMove input(IntConstant(0) -> vloc:R1)
SetListElement(v49, v4, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(1) -> vloc:R1)
SetListElement(v49, v11, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(2) -> vloc:R1)
SetListElement(v49, v12, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(3) -> vloc:R1)
SetListElement(v49, v13, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(4) -> vloc:R1)
SetListElement(v49, v16, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(5) -> vloc:R1)
SetListElement(v49, v17, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(6) -> vloc:R1)
SetListElement(v49, v18, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(7) -> vloc:R1)
SetListElement(v49, v19, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(8) -> vloc:R1)
SetListElement(v49, v20, v1) # RA: (R0, R1, R2)
ParallelMove split(stack[1] -> R1)
v59 = DirectCall _GrowableList._literal(v7, v49) # RA: R0 <- (R1, R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v59) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v36) # RA: (R0)
--- mapLiterals
B0 = EntryBlock()
v6 = Constant(<dynamic, dynamic>)
v12 = Constant(<String, String>)
v13 = Constant("a")
v14 = Constant("aa")
v15 = Constant("b")
v16 = Constant("bb")
v27 = Constant(null)
v29 = Constant(InstanceConstant(const List<dynamic>{}))
v32 = Constant(4)
v34 = Constant(0)
v36 = Constant(1)
v38 = Constant(2)
v40 = Constant(3)
v1 = Parameter(key) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(value) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v3 = Parameter(key2) # RA: param[2] <- ()
ParallelMove output(param[2] -> vloc:R2)
v4 = Parameter(value2) # RA: param[3] <- ()
ParallelMove output(param[3] -> vloc:R3)
v5 = TypeParameters() # RA: R4 <- ()
ParallelMove spill(R4 -> stack[0])
v30 = DirectCall Map._fromLiteral(v6, v29) # RA: R0 <- (-, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v30) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(stack[0] -> R1)
v9 = TypeArguments(v5, <mapLiterals.S%, mapLiterals.T%>) # RA: R0 <- (R1)
ParallelMove spill(R0 -> stack[1])
v31 = DirectCall Map._fromLiteral(v9, v29) # RA: R0 <- (R0, -) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v31) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(4) -> vloc:R1)
v33 = AllocateList(v32) # RA: R0 <- (R1)
ParallelMove input(IntConstant(0) -> vloc:R1, StringConstant("a") -> vloc:R2)
SetListElement(v33, v34, v13) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(1) -> vloc:R1, StringConstant("aa") -> vloc:R2)
SetListElement(v33, v36, v14) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(2) -> vloc:R1, StringConstant("b") -> vloc:R2)
SetListElement(v33, v38, v15) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(3) -> vloc:R1, StringConstant("bb") -> vloc:R2)
SetListElement(v33, v40, v16) # RA: (R0, R1, R2)
v42 = DirectCall Map._fromLiteral(v12, v33) # RA: R0 <- (-, R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v42) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove split(param[1] -> R1)
v22 = ClosureCall(v2) # RA: R0 <- (R1) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
ParallelMove input(IntConstant(4) -> vloc:R1)
v43 = AllocateList(v32) # RA: R1 <- (R1)
ParallelMove split(param[0] -> R3)
ParallelMove input(IntConstant(0) -> vloc:R2)
SetListElement(v43, v34, v1) # RA: (R1, R2, R3)
ParallelMove input(IntConstant(1) -> vloc:R2)
SetListElement(v43, v36, v22) # RA: (R1, R2, R0)
ParallelMove split(param[2] -> R2)
ParallelMove input(IntConstant(2) -> vloc:R0)
SetListElement(v43, v38, v3) # RA: (R1, R0, R2)
ParallelMove split(param[3] -> R2)
ParallelMove input(IntConstant(3) -> vloc:R0)
SetListElement(v43, v40, v4) # RA: (R1, R0, R2)
ParallelMove split(stack[1] -> R0)
v48 = DirectCall Map._fromLiteral(v9, v43) # RA: R0 <- (R0, R1) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v48) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v27) # RA: (R0)
--- stringInterpolation
B0 = EntryBlock()
v7 = Constant("Hey, x=")
v9 = Constant(", s=")
v11 = Constant(", o=")
v15 = Constant(null)
v18 = Constant(6)
v20 = Constant(0)
v22 = Constant(1)
v24 = Constant(2)
v26 = Constant(3)
v28 = Constant(4)
v30 = Constant(5)
v1 = Parameter(x) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(s) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
v3 = Parameter(o) # RA: param[2] <- ()
ParallelMove output(param[2] -> vloc:R2)
v17 = DirectCall _StringBase._interpolateSingle(v3) # RA: R0 <- (R2) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v17) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(IntConstant(6) -> vloc:R1)
v19 = AllocateList(v18) # RA: R0 <- (R1)
ParallelMove input(IntConstant(0) -> vloc:R1, StringConstant("Hey, x=") -> vloc:R2)
SetListElement(v19, v20, v7) # RA: (R0, R1, R2)
ParallelMove split(param[0] -> R2)
ParallelMove input(IntConstant(1) -> vloc:R1)
SetListElement(v19, v22, v1) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(2) -> vloc:R1, StringConstant(", s=") -> vloc:R2)
SetListElement(v19, v24, v9) # RA: (R0, R1, R2)
ParallelMove split(param[1] -> R2)
ParallelMove input(IntConstant(3) -> vloc:R1)
SetListElement(v19, v26, v2) # RA: (R0, R1, R2)
ParallelMove input(IntConstant(4) -> vloc:R1, StringConstant(", o=") -> vloc:R2)
SetListElement(v19, v28, v11) # RA: (R0, R1, R2)
ParallelMove split(param[2] -> R2)
ParallelMove input(IntConstant(5) -> vloc:R1)
SetListElement(v19, v30, v3) # RA: (R0, R1, R2)
v32 = DirectCall _StringBase._interpolate(v19) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove output(R0 -> vloc:R0)
DirectCall print(v32) # RA: R0 <- (R0) temps: [R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R23, R25, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30]
ParallelMove input(NullConstant(null) -> R0)
Return(v15) # RA: (R0)
--- main
B0 = EntryBlock()
v1 = Constant(null)
ParallelMove input(NullConstant(null) -> R0)
Return(v1) # RA: (R0)