blob: c6f82ffc0b701694f458d11034a652c2a4bbbb29 [file] [edit]
--- test1
B0 = EntryBlock() dominates:(B5, B7, B4)
v9 = Constant(1)
v12 = Constant(2)
v20 = Constant(3)
v22 = Constant(null)
v24 = Constant(4)
v1 = Parameter(c1) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
v2 = Parameter(c2) # RA: param[1] <- ()
ParallelMove output(param[1] -> vloc:R1)
Branch(v1, true: B4, false: B5) # RA: (R0)
B4 = TargetBlock() idom:B0
DirectCall print(v9) # 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(B7)
B5 = TargetBlock() idom:B0
Goto(B7)
B7 = JoinBlock(B5, B4) idom:B0 dominates:(B16, B15)
DirectCall print(v12) # 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 split(param[1] -> R1)
Branch(v2, true: B15, false: B16) # RA: (R1)
B15 = TargetBlock() idom:B7
DirectCall print(v20) # 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 input(NullConstant(null) -> R0)
Return(v22) # RA: (R0)
B16 = TargetBlock() idom:B7
DirectCall print(v24) # 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 input(NullConstant(null) -> R0)
Return(v22) # RA: (R0)
--- test2
B0 = EntryBlock() dominates:(B3)
Constant(0)
Constant(10)
Constant(3)
v19 = Constant("done")
v21 = Constant(null)
Constant(1)
v32 = Constant(UnboxedIntConstant(0))
v33 = Constant(UnboxedIntConstant(10))
v34 = Constant(UnboxedIntConstant(3))
v35 = Constant(UnboxedIntConstant(1))
ParallelMove control(UnboxedIntConstant(0) -> R0)
Goto(B3)
B3 = JoinBlock(B0, B15) idom:B0 dominates:(B9, B8) loop-header (depth:1 body:(B3, B8, B15) back-edges:(B15))
v29 = Phi(v32, v25) # RA: R0 <- (-, R0)
CompareAndBranch int <(v29, v33, true: B8, false: B9) # RA: (R0, -)
B8 = TargetBlock() idom:B3 dominates:(B15, B14) in-loop:B3
CompareAndBranch int >(v29, v34, true: B14, false: B15) # RA: (R0, -)
B15 = TargetBlock() idom:B8 in-loop:B3
v25 = BinaryIntOp +(v29, v35) # RA: R0 <- (R0, -)
Goto(B3)
B14 = TargetBlock() idom:B8
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]
ParallelMove input(NullConstant(null) -> R0)
Return(v21) # RA: (R0)
B9 = TargetBlock() idom:B3
ParallelMove input(NullConstant(null) -> R0)
Return(v21) # RA: (R0)
--- test3
B0 = EntryBlock() dominates:(B3)
Constant(0)
Constant(10)
v28 = Constant("done")
Constant(1)
v42 = Constant(null)
v49 = Constant(UnboxedIntConstant(0))
v50 = Constant(UnboxedIntConstant(10))
v51 = Constant(UnboxedIntConstant(1))
ParallelMove control(UnboxedIntConstant(0) -> R0)
Goto(B3)
B3 = JoinBlock(B0, B30) idom:B0 dominates:(B9, B8) loop-header (depth:1 body:(B3, B8, B12, B17, B30, B16, B24, B23) back-edges:(B30))
v44 = Phi(v49, v39) # RA: R0 <- (-, R0)
ParallelMove spill(R0 -> stack[0])
CompareAndBranch int <(v44, v50, true: B8, false: B9) # RA: (R0, -)
B8 = TargetBlock() idom:B3 dominates:(B12) in-loop:B3
ParallelMove control(UnboxedIntConstant(0) -> R1)
Goto(B12)
B12 = JoinBlock(B8, B24) idom:B8 dominates:(B17, B30, B16) loop-header (depth:2 body:(B12, B16, B24) back-edges:(B24))
v45 = Phi(v49, v34) # RA: R1 <- (-, R1)
CompareAndBranch int <(v45, v50, true: B16, false: B17) # RA: (R1, -)
B16 = TargetBlock() idom:B12 dominates:(B24, B23) in-loop:B12
v21 = BinaryIntOp +(v44, v45) # RA: R2 <- (R0, R1)
CompareAndBranch int >(v21, v50, true: B23, false: B24) # RA: (R2, -)
B24 = TargetBlock() idom:B16 in-loop:B12
v34 = BinaryIntOp +(v45, v51) # RA: R1 <- (R1, -)
Goto(B12)
B23 = TargetBlock() idom:B16 in-loop:B3
DirectCall print(v28) # 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(B30)
B17 = TargetBlock() idom:B12 in-loop:B3
Goto(B30)
B30 = JoinBlock(B17, B23) idom:B12 in-loop:B3
ParallelMove split(stack[0] -> R0)
v39 = BinaryIntOp +(v44, v51) # RA: R0 <- (R0, -)
ParallelMove spill(R0 -> stack[0])
Goto(B3)
B9 = TargetBlock() idom:B3
ParallelMove input(NullConstant(null) -> R0)
Return(v42) # RA: (R0)
--- test4
B0 = EntryBlock() dominates:(B4, B3)
v8 = Constant("Error")
v10 = Constant(null)
v11 = Constant("ok")
v1 = Parameter(c1) # RA: param[0] <- ()
ParallelMove output(param[0] -> vloc:R0)
Branch(v1, true: B3, false: B4) # RA: (R0)
B4 = TargetBlock() idom:B0
DirectCall print(v11) # 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 input(NullConstant(null) -> R0)
Return(v10) # RA: (R0)
B3 = TargetBlock() idom:B0
ParallelMove input(StringConstant("Error") -> vloc:R0)
Throw(v8) # RA: (R0)
--- main
B0 = EntryBlock()
v1 = Constant(null)
ParallelMove input(NullConstant(null) -> R0)
Return(v1) # RA: (R0)