summaryrefslogtreecommitdiff
path: root/test/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.txt')
-rw-r--r--test/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.txt4775
1 files changed, 0 insertions, 4775 deletions
diff --git a/test/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.txt b/test/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.txt
deleted file mode 100644
index 71c272079..000000000
--- a/test/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.txt
+++ /dev/null
@@ -1,4775 +0,0 @@
-
-; function: figure-1a
-
-; start LHS (in figure-1a)
-%0:i64 = var
-%1:i64 = var
-%2 = eq %0, %1
-infer %2
-
-
-; start LHS (in figure-1a)
-%0:i64 = var
-%1:i64 = var
-%2 = ne %0, %1
-infer %2
-
-
-; start LHS (in figure-1a)
-%0:i64 = var
-%1:i64 = var
-%2 = eq %0, %1
-%3:i32 = zext %2
-%4:i64 = var
-%5 = ne %0, %4
-%6:i32 = zext %5
-%7 = and %3, %6
-infer %7
-
-
-; function: figure-1b
-
-; start LHS (in figure-1b)
-%0:i64 = var
-%1:i64 = var
-%2 = slt %0, %1
-infer %2
-
-
-; start LHS (in figure-1b)
-%0:i64 = var
-%1:i64 = var
-%2 = eq %0, %1
-%3:i64 = var
-%4 = slt %1, %3
-pc %4 1:i1
-infer %2
-
-
-; start LHS (in figure-1b)
-%0:i64 = var
-%1:i64 = var
-%2 = ne %0, %1
-%3:i64 = var
-%4 = slt %3, %1
-pc %4 1:i1
-infer %2
-
-
-; start LHS (in figure-1b)
-%0:i64 = var
-%1:i64 = var
-%2 = eq %0, %1
-%3:i32 = zext %2
-%4:i64 = var
-%5 = ne %0, %4
-%6:i32 = zext %5
-%7 = and %3, %6
-%8 = slt %1, %4
-pc %8 1:i1
-infer %7
-
-
-; function: figure-3-if
-
-; start LHS (in figure-3-if)
-%0:i32 = var
-%1 = and %0, 1:i32
-infer %1
-
-
-; start LHS (in figure-3-if)
-%0:i32 = var
-%1 = add %0, 1:i32
-%2 = and %0, 1:i32
-%3 = ne %2, 0:i32
-pc %3 1:i1
-infer %1
-
-
-; start LHS (in figure-3-if)
-%0:i32 = var
-%1 = add %0, 2:i32
-%2 = and %0, 1:i32
-%3 = eq %2, 0:i32
-pc %3 1:i1
-infer %1
-
-
-; start LHS (in figure-3-if)
-%0 = block 2
-%1:i32 = var
-%2 = add %1, 1:i32
-%3 = add %1, 2:i32
-%4 = phi %0, %2, %3
-%5 = and %4, 1:i32
-%6 = and %1, 1:i32
-%7 = ne %6, 0:i32
-blockpc %0 0 %7 1:i1
-%8 = eq %6, 0:i32
-blockpc %0 1 %8 1:i1
-infer %5
-
-
-; function: flips
-
-; start LHS (in flips)
-%0 = sle 0:i32, 0:i32
-infer %0
-
-
-; start LHS (in flips)
-%0 = sle 0:i32, 0:i32
-%1:i32 = zext %0
-%2 = ule 0:i32, %1
-infer %2
-
-
-; start LHS (in flips)
-%0 = sle 0:i32, 0:i32
-%1:i32 = zext %0
-%2 = ule 0:i32, %1
-%3:i32 = zext %2
-%4 = slt 0:i32, %3
-infer %4
-
-
-; start LHS (in flips)
-%0 = sle 0:i32, 0:i32
-%1:i32 = zext %0
-%2 = ule 0:i32, %1
-%3:i32 = zext %2
-%4 = slt 0:i32, %3
-%5:i32 = zext %4
-%6 = ult 0:i32, %5
-infer %6
-
-
-; function: various-conditions-1
-
-; start LHS (in various-conditions-1)
-%0:i32 = var
-%1 = add %0, 1:i32
-%2 = ne %0, 0:i32
-pc %2 1:i1
-infer %1
-
-
-; function: various-conditions-2
-
-; start LHS (in various-conditions-2)
-%0:i32 = var
-%1 = slt %0, 0:i32
-infer %1
-
-
-; start LHS (in various-conditions-2)
-%0:i32 = var
-%1 = sub %0, 2:i32
-%2 = slt %0, 0:i32
-pc %2 1:i1
-infer %1
-
-
-; function: various-conditions-3
-
-; start LHS (in various-conditions-3)
-%0:i32 = var
-%1 = sub %0, 4:i32
-%2:i32 = var
-%3 = ne %2, 0:i32
-pc %3 1:i1
-infer %1
-
-
-; function: various-conditions-4
-
-; function: unaries
-
-; start LHS (in unaries)
-%0:i32 = var
-%1 = eq %0, 0:i32
-infer %1
-
-
-; start LHS (in unaries)
-%0:i32 = var
-%1 = cttz %0
-%2:i32 = var
-%3 = eq %2, 0:i32
-pc %3 1:i1
-infer %1
-
-
-; start LHS (in unaries)
-%0:i32 = var
-%1 = ctlz %0
-%2 = eq %0, 0:i32
-pc %2 1:i1
-infer %1
-
-
-; start LHS (in unaries)
-%0:i32 = var
-%1 = ctpop %0
-%2:i32 = var
-%3 = eq %2, 0:i32
-pc %3 1:i1
-infer %1
-
-
-; start LHS (in unaries)
-%0:i32 = var
-%1 = ctlz %0
-%2:i32 = var
-%3 = ctpop %2
-%4 = sub %1, %3
-%5 = eq %0, 0:i32
-pc %5 1:i1
-infer %4
-
-
-; start LHS (in unaries)
-%0:i32 = var
-%1 = cttz %0
-%2:i32 = var
-%3 = ctlz %2
-%4 = ctpop %0
-%5 = sub %3, %4
-%6 = add %1, %5
-%7 = eq %2, 0:i32
-pc %7 1:i1
-infer %6
-
-
-; function: unary-condition
-
-; start LHS (in unary-condition)
-%0:i32 = var
-%1 = ult 1:i32, %0
-infer %1
-
-
-; start LHS (in unary-condition)
-%0:i32 = var
-%1 = ult 1:i32, %0
-%2:i32 = zext %1
-%3 = cttz %2
-infer %3
-
-
-; start LHS (in unary-condition)
-%0:i32 = var
-%1 = add %0, 2:i32
-%2 = ult 1:i32, %0
-%3:i32 = zext %2
-%4 = cttz %3
-%5 = ne %4, 0:i32
-pc %5 1:i1
-infer %1
-
-
-; function: unary-condition-2
-
-; start LHS (in unary-condition-2)
-%0:i32 = var
-%1 = ult 1:i32, %0
-infer %1
-
-
-; start LHS (in unary-condition-2)
-%0:i32 = var
-%1 = ult 1:i32, %0
-%2:i32 = zext %1
-%3 = eq %2, 0:i32
-infer %3
-
-
-; start LHS (in unary-condition-2)
-%0:i32 = var
-%1 = add %0, 2:i32
-%2 = ult 1:i32, %0
-%3:i32 = zext %2
-%4 = eq %3, 0:i32
-pc %4 1:i1
-infer %1
-
-
-; function: if-else-cond
-
-; start LHS (in if-else-cond)
-%0:i32 = var
-%1 = slt %0, 1:i32
-infer %1
-
-
-; start LHS (in if-else-cond)
-%0:i32 = var
-%1 = add %0, 1:i32
-%2 = slt %0, 1:i32
-pc %2 1:i1
-infer %1
-
-
-; start LHS (in if-else-cond)
-%0:i32 = var
-%1 = add %0, 2:i32
-%2 = slt %0, 1:i32
-%3:i32 = zext %2
-%4 = eq %3, 0:i32
-pc %4 1:i1
-infer %1
-
-
-; start LHS (in if-else-cond)
-%0 = block 2
-%1:i32 = var
-%2 = add %1, 1:i32
-%3 = add %1, 2:i32
-%4 = phi %0, %2, %3
-%5 = and %4, 1:i32
-%6 = slt %1, 1:i32
-blockpc %0 0 %6 1:i1
-%7:i32 = zext %6
-%8 = eq %7, 0:i32
-blockpc %0 1 %8 1:i1
-infer %5
-
-
-; function: trivial-ret
-
-; start LHS (in trivial-ret)
-%0 = add 0:i32, 1:i32
-infer %0
-
-
-; function: trivial-const
-
-; function: trivial-const-block
-
-; function: bad-phi-value
-
-; function: bad-phi-value-2
-
-; function: select
-
-; start LHS (in select)
-%0 = ne 3:i32, 0:i32
-infer %0
-
-
-; start LHS (in select)
-%0 = ne 3:i32, 0:i32
-%1 = select %0, 1:i32, 2:i32
-infer %1
-
-
-; function: select-2
-
-; start LHS (in select-2)
-%0:i32 = var
-%1:i32 = var
-%2 = add %0, %1
-infer %2
-
-
-; start LHS (in select-2)
-%0:i32 = var
-%1 = add %0, 1:i32
-infer %1
-
-
-; start LHS (in select-2)
-%0:i32 = var
-%1 = add 2:i32, %0
-infer %1
-
-
-; start LHS (in select-2)
-%0:i32 = var
-%1 = add 2:i32, %0
-%2 = ne %1, 0:i32
-infer %2
-
-
-; start LHS (in select-2)
-%0:i32 = var
-%1 = add 2:i32, %0
-%2 = ne %1, 0:i32
-%3:i32 = var
-%4 = add %3, %0
-%5 = add %3, 1:i32
-%6 = select %2, %4, %5
-infer %6
-
-
-; function: block-phi-1
-
-; start LHS (in block-phi-1)
-%0:i32 = var
-%1 = add %0, 1:i32
-infer %1
-
-
-; start LHS (in block-phi-1)
-%0:i32 = var
-%1 = add %0, 2:i32
-infer %1
-
-
-; start LHS (in block-phi-1)
-%0 = block 2
-%1:i32 = var
-%2 = add %1, 2:i32
-%3 = phi %0, %1, %2
-%4 = add %3, 3:i32
-infer %4
-
-
-; function: block-phi-2
-
-; start LHS (in block-phi-2)
-%0 = block 2
-%1 = phi %0, 1:i32, 2:i32
-%2 = add %1, 3:i32
-infer %2
-
-
-; function: zero_init-phi-bad_type
-
-; function: phi-bad-type
-
-; function: phi-one-side-i1
-
-; start LHS (in phi-one-side-i1)
-%0:i32 = var
-%1:i32 = var
-%2 = sle %0, %1
-infer %2
-
-
-; start LHS (in phi-one-side-i1)
-%0:i32 = var
-%1:i32 = var
-%2 = eq %0, %1
-%3 = sle %0, %1
-pc %3 1:i1
-infer %2
-
-
-; start LHS (in phi-one-side-i1)
-%0:i32 = var
-%1:i32 = var
-%2 = add %0, %1
-%3 = sle %0, %1
-%4:i32 = zext %3
-%5 = eq %4, 0:i32
-pc %5 1:i1
-infer %2
-
-
-; function: call
-
-; start LHS (in call)
-%0:i32 = var
-%1:i32 = var
-%2 = add %0, %1
-infer %2
-
-
-; start LHS (in call)
-%0:i32 = var
-%1 = add 10:i32, %0
-infer %1
-
-
-; start LHS (in call)
-%0:i32 = var
-%1:i32 = var
-%2 = add %0, %1
-%3:i32 = var
-%4 = add 10:i32, %3
-%5 = mul %2, %4
-infer %5
-
-
-; function: in-unreachable-1
-
-; function: in-unreachable-2
-
-; function: in-unreachable-3
-
-; function: in-unreachable-4
-
-; function: in-unreachable-br_if
-
-; function: in-unreachable-big
-
-; function: in-unreachable-operations
-
-; function: merge-with-one-less
-
-; function: deep
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-infer %1
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-infer %2
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-infer %3
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-infer %4
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-infer %5
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-infer %6
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-infer %7
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-infer %8
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = xor %0, 1234:i32
-%2 = mul %1, 1234:i32
-%3 = xor %2, 1234:i32
-%4 = mul %3, 1234:i32
-%5 = xor %4, 1234:i32
-%6 = mul %5, 1234:i32
-%7 = xor %6, 1234:i32
-%8 = mul %7, 1234:i32
-%9 = xor %8, 1234:i32
-infer %9
-
-
-; start LHS (in deep)
-%0:i32 = var
-%1 = mul %0, 1234:i32
-%2 = xor %1, 1234:i32
-%3 = mul %2, 1234:i32
-%4 = xor %3, 1234:i32
-%5 = mul %4, 1234:i32
-%6 = xor %5, 1234:i32
-%7 = mul %6, 1234:i32
-%8 = xor %7, 1234:i32
-%9 = mul %8, 1234:i32
-infer %9
-
-
-; function: two-pcs
-
-; start LHS (in two-pcs)
-%0:i64 = var
-%1:i64 = var
-%2 = slt %0, %1
-infer %2
-
-
-; start LHS (in two-pcs)
-%0:i64 = var
-%1 = eq %0, 0:i64
-%2:i64 = var
-%3 = slt %0, %2
-pc %3 1:i1
-infer %1
-
-
-; start LHS (in two-pcs)
-%0:i64 = var
-%1:i64 = var
-%2 = add %0, %1
-%3 = eq %0, 0:i64
-%4 = slt %0, %1
-pc %3 1:i1
-pc %4 1:i1
-infer %2
-
-
-; start LHS (in two-pcs)
-%0:i64 = var
-%1:i64 = var
-%2 = sub %0, %1
-%3 = eq %0, 0:i64
-%4:i32 = zext %3
-%5 = eq %4, 0:i32
-%6 = slt %0, %1
-pc %5 1:i1
-pc %6 1:i1
-infer %2
-
-
-; start LHS (in two-pcs)
-%0:i64 = var
-%1 = eq %0, 0:i64
-%2:i64 = var
-%3 = slt %2, %0
-%4:i32 = zext %3
-%5 = eq %4, 0:i32
-pc %5 1:i1
-infer %1
-
-
-; start LHS (in two-pcs)
-%0:i64 = var
-%1:i64 = var
-%2 = mul %0, %1
-%3 = eq %1, 0:i64
-%4 = slt %0, %1
-%5:i32 = zext %4
-%6 = eq %5, 0:i32
-pc %3 1:i1
-pc %6 1:i1
-infer %2
-
-
-; start LHS (in two-pcs)
-%0:i64 = var
-%1:i64 = var
-%2 = sdiv %0, %1
-%3 = eq %1, 0:i64
-%4:i32 = zext %3
-%5 = eq %4, 0:i32
-%6 = slt %0, %1
-%7:i32 = zext %6
-%8 = eq %7, 0:i32
-pc %5 1:i1
-pc %8 1:i1
-infer %2
-
-
-; function: loop-1
-
-; start LHS (in loop-1)
-%0 = add 1:i32, 2:i32
-infer %0
-
-
-; function: loop-2
-
-; start LHS (in loop-2)
-%0 = add 1:i32, 3:i32
-infer %0
-
-
-; start LHS (in loop-2)
-%0 = add 2:i32, 4:i32
-infer %0
-
-
-; start LHS (in loop-2)
-%0 = add 1:i32, 3:i32
-%1 = add 2:i32, 4:i32
-%2 = add %0, %1
-infer %2
-
-
-; function: loop-3
-
-; start LHS (in loop-3)
-%0:i32 = var
-%1 = add %0, 3:i32
-infer %1
-
-
-; start LHS (in loop-3)
-%0:i32 = var
-%1 = add %0, 4:i32
-infer %1
-
-
-; start LHS (in loop-3)
-%0:i32 = var
-%1:i32 = var
-%2 = add %0, %1
-infer %2
-
-
-; function: loop-4
-
-; start LHS (in loop-4)
-%0:i32 = var
-%1 = add %0, 3:i32
-infer %1
-
-
-; start LHS (in loop-4)
-%0:i32 = var
-%1 = add %0, 2:i32
-infer %1
-
-
-; function: loop-5
-
-; start LHS (in loop-5)
-%0:i32 = var
-%1 = add %0, 3:i32
-infer %1
-
-
-; start LHS (in loop-5)
-%0:i32 = var
-%1 = add %0, 2:i32
-infer %1
-
-
-; function: loop-6
-
-; start LHS (in loop-6)
-%0:i32 = var
-%1 = add %0, 3:i32
-infer %1
-
-
-; start LHS (in loop-6)
-%0:i32 = var
-%1 = add %0, 2:i32
-infer %1
-
-
-; function: loop-7
-
-; start LHS (in loop-7)
-%0:i32 = var
-%1 = add %0, 3:i32
-infer %1
-
-
-; start LHS (in loop-7)
-%0:i32 = var
-%1 = add %0, 5:i32
-infer %1
-
-
-; function: loop-8
-
-; start LHS (in loop-8)
-%0 = add 1:i32, 4:i32
-infer %0
-
-
-; start LHS (in loop-8)
-%0:i32 = var
-%1 = sub 1:i32, %0
-infer %1
-
-
-; start LHS (in loop-8)
-%0 = add 1:i32, 4:i32
-%1:i32 = var
-%2 = sub 1:i32, %1
-%3 = mul %0, %2
-infer %3
-
-
-; function: loop-9
-
-; start LHS (in loop-9)
-%0:i32 = var
-%1:i32 = var
-%2 = add %0, %1
-infer %2
-
-
-; function: loop-10
-
-; start LHS (in loop-10)
-%0:i32 = var
-%1:i32 = var
-%2 = add %0, %1
-infer %2
-
-
-; function: loop-multicond-1
-
-; start LHS (in loop-multicond-1)
-%0 = ne 6:i32, 0:i32
-infer %0
-
-
-; start LHS (in loop-multicond-1)
-%0 = ne 6:i32, 0:i32
-%1 = select %0, 4:i32, 5:i32
-infer %1
-
-
-; function: loop-multicond-2
-
-; start LHS (in loop-multicond-2)
-%0:i32 = var
-%1 = add %0, 4:i32
-infer %1
-
-
-; start LHS (in loop-multicond-2)
-%0:i32 = var
-%1 = add %0, 5:i32
-infer %1
-
-
-; start LHS (in loop-multicond-2)
-%0 = add 3:i32, 6:i32
-infer %0
-
-
-; start LHS (in loop-multicond-2)
-%0 = add 3:i32, 6:i32
-%1 = ne %0, 0:i32
-infer %1
-
-
-; start LHS (in loop-multicond-2)
-%0 = add 3:i32, 6:i32
-%1 = ne %0, 0:i32
-%2:i32 = var
-%3:i32 = var
-%4 = select %1, %2, %3
-infer %4
-
-
-; function: loop-block-1
-
-; start LHS (in loop-block-1)
-%0:i32 = var
-%1 = add %0, 4:i32
-infer %1
-
-
-; start LHS (in loop-block-1)
-%0:i32 = var
-%1 = add %0, 5:i32
-infer %1
-
-
-; start LHS (in loop-block-1)
-%0:i32 = var
-%1 = add %0, 6:i32
-infer %1
-
-
-; start LHS (in loop-block-1)
-%0:i32 = var
-%1 = ne %0, 0:i32
-infer %1
-
-
-; start LHS (in loop-block-1)
-%0:i32 = var
-%1 = ne %0, 0:i32
-%2:i32 = var
-%3 = block 2
-%4:i32 = var
-%5:i32 = var
-%6 = phi %3, %4, %5
-%7 = select %1, %2, %6
-infer %7
-
-
-; function: loop-block-2
-
-; start LHS (in loop-block-2)
-%0:i32 = var
-%1 = add %0, 4:i32
-infer %1
-
-
-; start LHS (in loop-block-2)
-%0:i32 = var
-%1 = add %0, 5:i32
-infer %1
-
-
-; start LHS (in loop-block-2)
-%0:i32 = var
-%1 = add %0, 6:i32
-infer %1
-
-
-; start LHS (in loop-block-2)
-%0:i32 = var
-%1 = ne %0, 0:i32
-infer %1
-
-
-; start LHS (in loop-block-2)
-%0:i32 = var
-%1 = ne %0, 0:i32
-%2:i32 = var
-%3 = block 2
-%4:i32 = var
-%5:i32 = var
-%6 = phi %3, %4, %5
-%7 = select %1, %2, %6
-infer %7
-
-
-; function: bad-phi-type
-
-; function: loop-unreachable
-
-; function: phi-value-turns-bad
-
-; start LHS (in phi-value-turns-bad)
-%0:i32 = var
-%1 = ctlz %0
-%2 = eq %0, 0:i32
-pc %2 1:i1
-infer %1
-
-
-; function: multi-use
-
-; start LHS (in multi-use)
-%0:i32 = var
-%1 = add %0, 1:i32
-infer %1
-
-
-; start LHS (in multi-use)
-%0:i32 = var
-%1 = add %0, %0
-infer %1
-
-
-; function: multi-use-2
-
-; start LHS (in multi-use-2)
-%0:i32 = var
-%1 = add %0, 1:i32
-infer %1
-
-
-; start LHS (in multi-use-2)
-%0:i32 = var
-%1 = mul %0, 2:i32
-infer %1
-
-
-; start LHS (in multi-use-2)
-%0:i32 = var
-%1 = mul %0, 2:i32
-%2 = sub %1, %0
-infer %2
-
-
-; function: many-single-uses-with-param
-
-; start LHS (in many-single-uses-with-param)
-%0:i32 = var
-%1 = mul 10:i32, %0
-infer %1
-
-
-; start LHS (in many-single-uses-with-param)
-%0:i32 = var
-%1 = cttz %0
-infer %1
-
-
-; start LHS (in many-single-uses-with-param)
-%0:i32 = var
-%1 = cttz %0
-%2 = sub %1, 20:i32
-infer %2
-
-
-; start LHS (in many-single-uses-with-param)
-%0:i32 = var
-%1 = mul 10:i32, %0
-%2 = cttz %0
-%3 = sub %2, 20:i32
-%4 = add %1, %3
-infer %4
-
-
-; start LHS (in many-single-uses-with-param)
-%0:i32 = var
-%1 = mul 10:i32, %0
-%2 = cttz %0
-%3 = sub %2, 20:i32
-%4 = add %1, %3
-%5 = eq %4, 0:i32
-infer %5
-
-
-; function: 55
-
-; start LHS (in 55)
-%0:i32 = var
-%1 = add %0, -7:i32
-infer %1
-
-
-; start LHS (in 55)
-%0:i32 = var
-%1 = eq %0, 0:i32
-%2 = ne %0, 0:i32
-pc %2 1:i1
-infer %1
-
-
-; start LHS (in 55)
-%0:i32 = var
-%1:i32 = var
-%2 = ne %0, %1
-%3 = ne %1, 0:i32
-pc %3 1:i1
-infer %2
-
-
-; function: multiple-uses-to-non-expression
-
-; start LHS (in multiple-uses-to-non-expression)
-%0:i32 = var
-%1 = add %0, 10:i32
-infer %1
-
-
-; start LHS (in multiple-uses-to-non-expression)
-%0:i32 = var
-%1 = add %0, 20:i32
-infer %1
-
-
-; function: nested-phi-forwarding
-
-; start LHS (in nested-phi-forwarding)
-%0 = block 2
-%1:i32 = var
-%2 = block 2
-%3 = block 2
-%4 = phi %3, %1, 1:i32
-%5 = phi %2, %1, %4
-%6 = phi %0, %1, %5
-%7 = or 1:i32, %6
-infer %7
-
-
-; function: zext-numGets
-
-; start LHS (in zext-numGets)
-%0:i32 = var
-%1 = eq %0, 0:i32
-infer %1
-
-
-; start LHS (in zext-numGets)
-%0 = block 2
-%1:i32 = var
-%2 = eq %1, 0:i32
-%3:i32 = zext %2
-%4 = phi %0, 1:i32, %3
-%5 = cttz %4
-infer %5
-
-
-; function: zext-numGets-hasAnotherUse
-
-; start LHS (in zext-numGets-hasAnotherUse)
-%0:i32 = var
-%1 = eq %0, 0:i32
-infer %1
-
-
-; start LHS (in zext-numGets-hasAnotherUse)
-%0 = block 2
-%1:i32 = var
-%2 = eq %1, 0:i32
-%3:i32 = zext %2
-%4 = phi %0, 1:i32, %3
-%5 = cttz %4
-infer %5
-
-
-; function: flipped-needs-right-origin
-
-; start LHS (in flipped-needs-right-origin)
-%0 = block 2
-%1 = phi %0, 0:i32, 2:i32
-%2 = add %1, 4:i32
-infer %2
-
-
-; start LHS (in flipped-needs-right-origin)
-%0 = block 2
-%1 = phi %0, 0:i32, 2:i32
-%2 = add %1, 4:i32
-%3 = slt %2, 3:i32
-infer %3
-
-
-; function: non-expr-nodes-may-have-multiple-uses-too-its-the-ORIGIN
-
-; start LHS (in non-expr-nodes-may-have-multiple-uses-too-its-the-ORIGIN)
-%0:i32 = var
-%1 = ult 1:i32, %0
-infer %1
-
-
-; start LHS (in non-expr-nodes-may-have-multiple-uses-too-its-the-ORIGIN)
-%0:i32 = var
-%1:i32 = zext %0
-%2 = sub 4:i32, %1
-infer %2
-
-
-; function: loop-of-set-connections
-
-; start LHS (in loop-of-set-connections)
-%0 = add 0:i32, 1:i32
-%1 = ne 0:i32, 0:i32
-pc %1 1:i1
-infer %0
-
-
-; function: conditions-in-conditions
-
-; start LHS (in conditions-in-conditions)
-%0 = sub 0:i32, 1:i32
-%1 = ne 0:i32, 0:i32
-pc %1 1:i1
-infer %0
-
-
-; start LHS (in conditions-in-conditions)
-%0 = block 2
-%1 = block 2
-%2 = phi %1, 0:i32, 1:i32
-%3 = phi %0, %2, 1:i32
-%4 = add %3, 16:i32
-%5 = ne 0:i32, 0:i32
-blockpc %1 0 %5 1:i1
-%6 = eq 0:i32, 0:i32
-blockpc %1 1 %6 1:i1
-%7:i32 = var
-%8 = phi %1, 1:i32, %7
-%9 = ne %8, 0:i32
-blockpc %0 0 %9 1:i1
-%10 = eq %8, 0:i32
-blockpc %0 1 %10 1:i1
-infer %4
-
-(module
- (type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
- (type $i32_=>_i32 (func (param i32) (result i32)))
- (type $i32_=>_none (func (param i32)))
- (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32)))
- (type $none_=>_i32 (func (result i32)))
- (type $i32_i32_=>_none (func (param i32 i32)))
- (type $none_=>_f64 (func (result f64)))
- (type $i64_i64_i64_=>_i32 (func (param i64 i64 i64) (result i32)))
- (type $none_=>_none (func))
- (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32)))
- (type $i64_i64_i64_=>_i64 (func (param i64 i64 i64) (result i64)))
- (type $i64_i64_i32_f32_=>_none (func (param i64 i64 i32 f32)))
- (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32)))
- (memory $0 (shared 1 1))
- (export "replaced-print-internal" (func $55))
- (func $figure-1a (param $a i64) (param $x i64) (param $y i64) (result i32)
- (local $i i32)
- (local $j i32)
- (local $r i32)
- (local $6 i64)
- (local $7 i64)
- (local $8 i32)
- (local $9 i64)
- (local $10 i64)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (block
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (local.set $12
- (i64.eq
- (local.get $a)
- (local.get $x)
- )
- )
- (local.set $13
- (i64.ne
- (local.get $a)
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $15
- (i32.and
- (local.get $12)
- (local.get $13)
- )
- )
- (return
- (local.get $15)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $16)
- )
- )
- (func $figure-1b (param $a i64) (param $x i64) (param $y i64) (result i32)
- (local $i i32)
- (local $j i32)
- (local $r i32)
- (local $6 i64)
- (local $7 i64)
- (local $8 i32)
- (local $9 i64)
- (local $10 i64)
- (local $11 i32)
- (local $12 i64)
- (local $13 i64)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (local $18 i32)
- (block
- (nop)
- (nop)
- (local.set $8
- (i64.lt_s
- (local.get $x)
- (local.get $y)
- )
- )
- (if
- (local.get $8)
- (block
- (block $block
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (nop)
- (local.set $15
- (i64.eq
- (local.get $a)
- (local.get $x)
- )
- )
- (local.set $16
- (i64.ne
- (local.get $a)
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $18
- (i32.and
- (local.get $15)
- (local.get $16)
- )
- )
- (return
- (local.get $18)
- )
- (unreachable)
- )
- (unreachable)
- )
- (block
- (unreachable)
- (unreachable)
- )
- )
- )
- (unreachable)
- )
- (func $figure-3-if (param $x i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (block
- (block
- (nop)
- (local.set $2
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (if
- (local.get $2)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- )
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- )
- )
- (nop)
- (local.set $8
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (return
- (local.get $8)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $9)
- )
- )
- (func $flips
- (local $x i32)
- (local $y i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (nop)
- (nop)
- (nop)
- (local.set $x
- (i32.ge_s
- (local.get $x)
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (nop)
- (local.set $x
- (i32.ge_u
- (local.get $x)
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (nop)
- (local.set $x
- (i32.gt_s
- (local.get $x)
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (nop)
- (local.set $x
- (i32.gt_u
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (func $various-conditions-1 (param $x i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (nop)
- (if
- (local.get $x)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- )
- )
- )
- (func $various-conditions-2 (param $x i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (nop)
- (local.set $2
- (i32.lt_s
- (local.get $x)
- (i32.const 0)
- )
- )
- (if
- (local.get $2)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.sub
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- )
- )
- (func $various-conditions-3 (param $x i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local.set $1
- (i32.reinterpret_f32
- (f32.const 0)
- )
- )
- (if
- (local.get $1)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.sub
- (local.get $x)
- (i32.const 4)
- )
- )
- )
- )
- )
- (func $various-conditions-4 (param $x i32)
- (local $1 i32)
- (local $2 i32)
- (block
- (unreachable)
- (if
- (unreachable)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- )
- )
- )
- (unreachable)
- )
- (func $unaries (param $x i32) (param $y i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (nop)
- (local.set $3
- (i32.eqz
- (local.get $x)
- )
- )
- (if
- (local.get $3)
- (block
- (nop)
- (local.set $5
- (i32.ctz
- (local.get $y)
- )
- )
- (nop)
- (local.set $7
- (i32.clz
- (local.get $x)
- )
- )
- (nop)
- (local.set $9
- (i32.popcnt
- (local.get $y)
- )
- )
- (local.set $10
- (i32.sub
- (local.get $7)
- (local.get $9)
- )
- )
- (nop)
- (local.set $x
- (i32.add
- (local.get $5)
- (local.get $10)
- )
- )
- )
- )
- )
- (func $unary-condition (param $x i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (nop)
- (local.set $2
- (i32.gt_u
- (local.get $x)
- (i32.const 1)
- )
- )
- (local.set $3
- (i32.ctz
- (local.get $2)
- )
- )
- (if
- (local.get $3)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- )
- )
- (func $unary-condition-2 (param $x i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (nop)
- (local.set $2
- (i32.gt_u
- (local.get $x)
- (i32.const 1)
- )
- )
- (local.set $3
- (i32.eqz
- (local.get $2)
- )
- )
- (if
- (local.get $3)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- )
- )
- (func $if-else-cond (param $x i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (block
- (block
- (nop)
- (local.set $2
- (i32.lt_s
- (local.get $x)
- (i32.const 1)
- )
- )
- (if
- (local.get $2)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- )
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- )
- )
- (nop)
- (local.set $8
- (i32.and
- (local.get $x)
- (i32.const 1)
- )
- )
- (return
- (local.get $8)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $9)
- )
- )
- (func $trivial-ret (result i32)
- (local $0 i32)
- (local.set $0
- (i32.add
- (i32.const 0)
- (i32.const 1)
- )
- )
- (return
- (local.get $0)
- )
- )
- (func $trivial-const (result i32)
- (return
- (i32.const 0)
- )
- )
- (func $trivial-const-block (result i32)
- (local $0 i32)
- (local $1 i32)
- (block
- (nop)
- (nop)
- )
- (local.set $1
- (i32.const 0)
- )
- (return
- (local.get $1)
- )
- )
- (func $bad-phi-value (result i32)
- (local $0 i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (block
- (if
- (i32.const 1)
- (block
- (nop)
- (local.set $1
- (i32.load
- (i32.const 0)
- )
- )
- )
- (local.set $1
- (i32.const 0)
- )
- )
- (nop)
- (if
- (local.get $1)
- (local.set $3
- (i32.const 0)
- )
- (local.set $3
- (i32.const 1)
- )
- )
- )
- (nop)
- (return
- (local.get $3)
- )
- )
- (func $bad-phi-value-2 (param $x i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block
- (block
- (if
- (i32.const 1)
- (block
- (nop)
- (local.set $2
- (i32.load
- (i32.const 0)
- )
- )
- )
- (local.set $2
- (i32.const 0)
- )
- )
- (nop)
- (if
- (local.get $2)
- (local.set $x
- (i32.const 1)
- )
- (local.set $x
- (i32.const 2)
- )
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (return
- (local.get $x)
- )
- )
- (func $select (param $x i32) (result i32)
- (local $1 i32)
- (local.set $1
- (select
- (i32.const 1)
- (i32.const 2)
- (i32.const 3)
- )
- )
- (return
- (local.get $1)
- )
- (unreachable)
- )
- (func $select-2 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (nop)
- (nop)
- (local.set $4
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (nop)
- (local.set $6
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- (nop)
- (local.set $8
- (i32.add
- (i32.const 2)
- (local.get $y)
- )
- )
- (local.set $9
- (select
- (local.get $4)
- (local.get $6)
- (local.get $8)
- )
- )
- (return
- (local.get $9)
- )
- (unreachable)
- )
- (func $block-phi-1 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (block
- (block $out
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- (nop)
- (br_if $out
- (local.get $y)
- )
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 2)
- )
- )
- )
- (nop)
- (nop)
- (nop)
- )
- (local.set $10
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (return
- (local.get $10)
- )
- )
- (func $block-phi-2 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block
- (block $out
- (local.set $x
- (i32.const 1)
- )
- (nop)
- (br_if $out
- (local.get $y)
- )
- (local.set $x
- (i32.const 2)
- )
- )
- (nop)
- (nop)
- (nop)
- )
- (local.set $6
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (return
- (local.get $6)
- )
- )
- (func $zero_init-phi-bad_type (result f64)
- (local $x f64)
- (local $1 f64)
- (local $2 f64)
- (local $3 f64)
- (block
- (if
- (i32.const 0)
- (local.set $x
- (f64.const 1)
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (return
- (local.get $x)
- )
- )
- (func $phi-bad-type (result f64)
- (local $0 f64)
- (local $1 f64)
- (local $2 f64)
- (local $3 f64)
- (block $label$1
- (if
- (i32.const 0)
- (local.set $0
- (f64.const 0)
- )
- (local.set $0
- (f64.const 1)
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (return
- (local.get $0)
- )
- )
- (func $phi-one-side-i1 (param $x i32) (param $y i32) (result i32)
- (local $i i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (block
- (block
- (nop)
- (nop)
- (local.set $5
- (i32.le_s
- (local.get $x)
- (local.get $y)
- )
- )
- (if
- (local.get $5)
- (block
- (nop)
- (nop)
- (nop)
- (local.set $i
- (i32.eq
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (block
- (nop)
- (nop)
- (nop)
- (local.set $i
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- )
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (return
- (local.get $i)
- )
- )
- (func $call (result i32)
- (local $0 i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local.set $0
- (call $call)
- )
- (local.set $1
- (call $call)
- )
- (local.set $2
- (i32.add
- (local.get $0)
- (local.get $1)
- )
- )
- (local.set $3
- (call $call)
- )
- (local.set $4
- (i32.add
- (i32.const 10)
- (local.get $3)
- )
- )
- (local.set $5
- (i32.mul
- (local.get $2)
- (local.get $4)
- )
- )
- (return
- (local.get $5)
- )
- (unreachable)
- )
- (func $in-unreachable-1 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block
- (block
- (nop)
- (if
- (local.get $x)
- (block
- (block $block
- (local.set $x
- (i32.const 1)
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (unreachable)
- )
- (local.set $x
- (i32.const 2)
- )
- )
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $5)
- )
- )
- (func $in-unreachable-2 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (block
- (block
- (nop)
- (if
- (local.get $x)
- (block
- (block $block
- (local.set $x
- (i32.const 1)
- )
- (unreachable)
- (unreachable)
- )
- (unreachable)
- )
- (local.set $x
- (i32.const 2)
- )
- )
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $4)
- )
- )
- (func $in-unreachable-3 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block
- (block $out
- (block
- (nop)
- (if
- (local.get $x)
- (block
- (block $block
- (local.set $x
- (i32.const 1)
- )
- (br $out)
- (unreachable)
- )
- (unreachable)
- )
- (local.set $x
- (i32.const 2)
- )
- )
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $5)
- )
- )
- (func $in-unreachable-4 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block
- (block $out
- (block
- (nop)
- (if
- (local.get $x)
- (block
- (block $block
- (local.set $x
- (i32.const 1)
- )
- (br_table $out $out $out
- (i32.const 1)
- )
- (unreachable)
- )
- (unreachable)
- )
- (local.set $x
- (i32.const 2)
- )
- )
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $5)
- )
- )
- (func $in-unreachable-br_if (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (block
- (block $out
- (block
- (nop)
- (if
- (local.get $x)
- (block $block
- (local.set $x
- (i32.const 1)
- )
- (nop)
- (br_if $out
- (local.get $x)
- )
- )
- (local.set $x
- (i32.const 2)
- )
- )
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $6)
- )
- )
- (func $in-unreachable-big (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (block $label$1
- (block $label$2
- (block $label$3
- (block
- (nop)
- (if
- (local.get $2)
- (block
- (block
- (nop)
- (if
- (local.get $0)
- (block
- (block $block
- (local.set $1
- (i32.const -8531)
- )
- (br $label$3)
- (unreachable)
- )
- (unreachable)
- )
- (block
- (block $block3
- (local.set $1
- (i32.const -8531)
- )
- (br $label$1)
- (unreachable)
- )
- (unreachable)
- )
- )
- )
- (unreachable)
- )
- )
- )
- (br $label$2)
- (unreachable)
- )
- (local.set $6
- (i32.load
- (i32.const 0)
- )
- )
- (drop
- (local.get $6)
- )
- (br $label$1)
- (unreachable)
- )
- (nop)
- (i32.store16
- (i32.const 1)
- (local.get $1)
- )
- (unreachable)
- (unreachable)
- )
- (i32.store16
- (i32.const 0)
- (i32.const -8531)
- )
- )
- (func $in-unreachable-operations (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (block $block
- (unreachable)
- (unreachable)
- (block
- (nop)
- (if
- (local.get $x)
- (local.set $x
- (i32.const 1)
- )
- (local.set $x
- (i32.const 2)
- )
- )
- )
- (nop)
- (return
- (local.get $x)
- )
- (unreachable)
- )
- (unreachable)
- )
- (func $merge-with-one-less (param $var$0 i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block
- (block $label$1
- (block $label$2
- (block $label$3
- (block $label$4
- (block $label$5
- (local.set $1
- (i32.load
- (i32.const 1)
- )
- )
- (br_table $label$5 $label$4 $label$3 $label$2
- (local.get $1)
- )
- (unreachable)
- )
- (unreachable)
- (unreachable)
- )
- (br $label$1)
- (unreachable)
- )
- (local.set $var$0
- (i32.const 8)
- )
- (nop)
- (local.set $3
- (i32.load
- (local.get $var$0)
- )
- )
- (f64.store
- (local.get $3)
- (f64.const 0)
- )
- (br $label$1)
- (unreachable)
- )
- (unreachable)
- (unreachable)
- )
- (nop)
- (i32.store
- (local.get $var$0)
- (i32.const 16)
- )
- (nop)
- )
- (local.set $6
- (i32.const 1)
- )
- (return
- (local.get $6)
- )
- )
- (func $deep (param $x i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (local $18 i32)
- (local $19 i32)
- (local $20 i32)
- (local $21 i32)
- (local $22 i32)
- (local $23 i32)
- (local $24 i32)
- (local $25 i32)
- (local $26 i32)
- (local $27 i32)
- (local $28 i32)
- (local $29 i32)
- (local $30 i32)
- (local $31 i32)
- (local $32 i32)
- (local $33 i32)
- (local $34 i32)
- (local $35 i32)
- (local $36 i32)
- (local $37 i32)
- (local $38 i32)
- (local $39 i32)
- (local $40 i32)
- (local $41 i32)
- (local $42 i32)
- (local $43 i32)
- (local $44 i32)
- (local $45 i32)
- (local $46 i32)
- (local $47 i32)
- (local $48 i32)
- (local $49 i32)
- (local $50 i32)
- (local $51 i32)
- (local $52 i32)
- (local $53 i32)
- (local $54 i32)
- (local $55 i32)
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.xor
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $x)
- (i32.const 1234)
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (return
- (local.get $x)
- )
- )
- (func $two-pcs (param $x i64) (param $y i64) (param $t i64) (result i64)
- (local $3 i64)
- (local $4 i64)
- (local $5 i32)
- (local $6 i64)
- (local $7 i32)
- (local $8 i64)
- (local $9 i64)
- (local $10 i64)
- (local $11 i64)
- (local $12 i64)
- (local $13 i64)
- (local $14 i64)
- (local $15 i32)
- (local $16 i64)
- (local $17 i64)
- (local $18 i64)
- (local $19 i64)
- (local $20 i64)
- (local $21 i64)
- (local $22 i64)
- (local $23 i64)
- (local $24 i64)
- (block
- (block
- (nop)
- (nop)
- (local.set $5
- (i64.lt_s
- (local.get $x)
- (local.get $y)
- )
- )
- (if
- (local.get $5)
- (block
- (nop)
- (local.set $7
- (i64.eqz
- (local.get $x)
- )
- )
- (if
- (local.get $7)
- (block
- (nop)
- (nop)
- (nop)
- (local.set $t
- (i64.add
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (block
- (nop)
- (nop)
- (nop)
- (local.set $t
- (i64.sub
- (local.get $x)
- (local.get $y)
- )
- )
- )
- )
- )
- (block
- (nop)
- (local.set $15
- (i64.eqz
- (local.get $y)
- )
- )
- (if
- (local.get $15)
- (block
- (nop)
- (nop)
- (nop)
- (local.set $t
- (i64.mul
- (local.get $x)
- (local.get $y)
- )
- )
- )
- (block
- (nop)
- (nop)
- (nop)
- (local.set $t
- (i64.div_s
- (local.get $x)
- (local.get $y)
- )
- )
- )
- )
- )
- )
- )
- (nop)
- (return
- (local.get $t)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $23)
- )
- )
- (func $loop-1 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- )
- (nop)
- (nop)
- (local.set $4
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $4)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $5)
- )
- )
- (func $loop-2 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (nop)
- (nop)
- (local.set $y
- (i32.add
- (local.get $y)
- (i32.const 4)
- )
- )
- )
- (nop)
- (nop)
- (local.set $8
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $8)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $9)
- )
- )
- (func $loop-3 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (nop)
- (nop)
- (local.set $y
- (i32.add
- (local.get $y)
- (i32.const 4)
- )
- )
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $9
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $9)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $10)
- )
- )
- (func $loop-4 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $7
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $7)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $8)
- )
- )
- (func $loop-5 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (local.set $y
- (i32.const 2)
- )
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $7
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $7)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $8)
- )
- )
- (func $loop-6 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (nop)
- (nop)
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $8
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $8)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $9)
- )
- )
- (func $loop-7 (param $x i32) (param $y i32) (result i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 3)
- )
- )
- (local.set $y
- (i32.const 5)
- )
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $7
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $7)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $8)
- )
- )
- (func $loop-8 (param $x i32) (param $y i32) (result i32)
- (local $z i32)
- (local $w i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (local.set $z
- (local.get $x)
- )
- (nop)
- (local.set $w
- (local.get $y)
- )
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 4)
- )
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $9
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $12
- (i32.sub
- (local.get $z)
- (local.get $w)
- )
- )
- (local.set $13
- (i32.mul
- (local.get $9)
- (local.get $12)
- )
- )
- (return
- (local.get $13)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $14)
- )
- )
- (func $loop-9 (param $x i32) (param $y i32) (result i32)
- (local $t i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (loop $loopy
- (nop)
- (local.set $t
- (local.get $x)
- )
- (nop)
- (local.set $x
- (local.get $y)
- )
- (nop)
- (local.set $y
- (local.get $t)
- )
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $9
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $9)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $10)
- )
- )
- (func $loop-10 (param $x i32) (param $y i32) (result i32)
- (local $t i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 1)
- )
- (loop $loopy
- (nop)
- (local.set $t
- (local.get $x)
- )
- (nop)
- (local.set $x
- (local.get $y)
- )
- (nop)
- (local.set $y
- (local.get $t)
- )
- (nop)
- (br_if $loopy
- (local.get $y)
- )
- )
- (nop)
- (nop)
- (local.set $9
- (i32.add
- (local.get $x)
- (local.get $y)
- )
- )
- (return
- (local.get $9)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $10)
- )
- )
- (func $loop-multicond-1 (param $x i32) (param $y i32) (param $z i32) (result i32)
- (local $t i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (local.set $z
- (i32.const 3)
- )
- (loop $loopy
- (local.set $x
- (i32.const 4)
- )
- (nop)
- (br_if $loopy
- (local.get $t)
- )
- (local.set $y
- (i32.const 5)
- )
- (nop)
- (br_if $loopy
- (local.get $t)
- )
- (local.set $z
- (i32.const 6)
- )
- )
- (nop)
- (nop)
- (nop)
- (local.set $9
- (select
- (local.get $x)
- (local.get $y)
- (local.get $z)
- )
- )
- (return
- (local.get $9)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $10)
- )
- )
- (func $loop-multicond-2 (param $x i32) (param $y i32) (param $z i32) (result i32)
- (local $t i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (local.set $z
- (i32.const 3)
- )
- (loop $loopy
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 4)
- )
- )
- (nop)
- (br_if $loopy
- (local.get $t)
- )
- (nop)
- (nop)
- (local.set $y
- (i32.add
- (local.get $y)
- (i32.const 5)
- )
- )
- (nop)
- (br_if $loopy
- (local.get $t)
- )
- (nop)
- (nop)
- (local.set $z
- (i32.add
- (local.get $z)
- (i32.const 6)
- )
- )
- )
- (nop)
- (nop)
- (nop)
- (local.set $15
- (select
- (local.get $x)
- (local.get $y)
- (local.get $z)
- )
- )
- (return
- (local.get $15)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $16)
- )
- )
- (func $loop-block-1 (param $x i32) (param $y i32) (param $z i32) (result i32)
- (local $t i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (local.set $z
- (i32.const 3)
- )
- (loop $loopy
- (block $out
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 4)
- )
- )
- (nop)
- (br_if $out
- (local.get $t)
- )
- (nop)
- (nop)
- (local.set $y
- (i32.add
- (local.get $y)
- (i32.const 5)
- )
- )
- (nop)
- (br_if $out
- (local.get $t)
- )
- (nop)
- (nop)
- (local.set $z
- (i32.add
- (local.get $z)
- (i32.const 6)
- )
- )
- (br $loopy)
- (unreachable)
- )
- )
- (nop)
- (nop)
- (nop)
- (local.set $15
- (select
- (local.get $x)
- (local.get $y)
- (local.get $z)
- )
- )
- (return
- (local.get $15)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $16)
- )
- )
- (func $loop-block-2 (param $x i32) (param $y i32) (param $z i32) (result i32)
- (local $t i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (local $17 i32)
- (block
- (local.set $x
- (i32.const 1)
- )
- (local.set $y
- (i32.const 2)
- )
- (local.set $z
- (i32.const 3)
- )
- (block $out
- (loop $loopy
- (block
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 4)
- )
- )
- (nop)
- (br_if $out
- (local.get $t)
- )
- (nop)
- (nop)
- (local.set $y
- (i32.add
- (local.get $y)
- (i32.const 5)
- )
- )
- (nop)
- (br_if $out
- (local.get $t)
- )
- (nop)
- (nop)
- (local.set $z
- (i32.add
- (local.get $z)
- (i32.const 6)
- )
- )
- (br $loopy)
- (unreachable)
- )
- (unreachable)
- )
- (unreachable)
- )
- (nop)
- (nop)
- (nop)
- (local.set $15
- (select
- (local.get $x)
- (local.get $y)
- (local.get $z)
- )
- )
- (return
- (local.get $15)
- )
- (unreachable)
- )
- (nop)
- (return
- (local.get $16)
- )
- )
- (func $bad-phi-type (param $var$0 i64) (param $var$1 i64) (param $var$2 i32) (param $var$3 f32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 f64)
- (local $9 f64)
- (local $10 f64)
- (local $11 f64)
- (nop)
- (if
- (local.get $var$2)
- (block
- (loop $label$2
- (block
- (block
- (block $label$3
- (if
- (i32.const 0)
- (block
- (unreachable)
- (unreachable)
- )
- )
- (nop)
- (nop)
- )
- (local.set $6
- (i32.const 0)
- )
- (if
- (local.get $6)
- (block
- (unreachable)
- (unreachable)
- )
- )
- )
- (nop)
- (br_if $label$2
- (local.get $var$2)
- )
- (nop)
- )
- (nop)
- (local.set $10
- (f64.const 0)
- )
- )
- (nop)
- (drop
- (local.get $10)
- )
- )
- )
- )
- (func $loop-unreachable
- (local $var$0 i32)
- (local $var$1 f64)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 f64)
- (local $12 f64)
- (local $13 f64)
- (loop $label$1
- (block
- (block $label$2
- (block $label$3
- (block $label$4
- (if
- (i32.const 1337)
- (block
- (unreachable)
- (unreachable)
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (nop)
- (loop $label$6
- (block $label$7
- (nop)
- (local.set $6
- (local.get $var$0)
- )
- (br_if $label$7
- (i32.const 65535)
- )
- (nop)
- (drop
- (local.get $6)
- )
- (nop)
- (local.set $6
- (local.get $var$0)
- )
- (br_if $label$7
- (i32.const 0)
- )
- (nop)
- (drop
- (local.get $6)
- )
- (unreachable)
- (unreachable)
- )
- (nop)
- (br_if $label$6
- (local.get $6)
- )
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (nop)
- (br $label$1)
- (unreachable)
- )
- (unreachable)
- )
- (unreachable)
- )
- (func $phi-value-turns-bad (result f64)
- (local $var$0 i32)
- (local $var$1 i32)
- (local $var$2 f32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 f32)
- (local $13 f32)
- (local $14 f32)
- (local $15 f32)
- (local $16 f64)
- (local $17 f64)
- (block
- (block
- (nop)
- (local.set $var$0
- (i32.atomic.rmw16.sub_u offset=22
- (i32.const 0)
- (i32.const 0)
- )
- )
- (nop)
- (if
- (local.get $var$0)
- (block
- (unreachable)
- (unreachable)
- )
- (block
- (block $block
- (block
- (loop $label$3
- (block $label$4
- (nop)
- (local.set $6
- (local.get $var$0)
- )
- (br_if $label$4
- (i32.const 1)
- )
- (nop)
- (nop)
- (local.set $6
- (i32.clz
- (local.get $6)
- )
- )
- )
- (nop)
- (nop)
- )
- (nop)
- (if
- (local.get $6)
- (nop)
- )
- )
- (nop)
- )
- (nop)
- (local.set $14
- (f32.const 1)
- )
- )
- )
- )
- (nop)
- (nop)
- (unreachable)
- (unreachable)
- )
- (nop)
- (return
- (local.get $16)
- )
- )
- (func $multi-use (param $x i32) (result i32)
- (local $temp i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (block
- (nop)
- (nop)
- (local.set $temp
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- (nop)
- (nop)
- (nop)
- (nop)
- )
- (local.set $8
- (i32.add
- (local.get $temp)
- (local.get $temp)
- )
- )
- (return
- (local.get $8)
- )
- )
- (func $multi-use-2 (param $x i32) (result i32)
- (local $temp i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (block
- (nop)
- (nop)
- (local.set $temp
- (i32.add
- (local.get $x)
- (i32.const 1)
- )
- )
- (nop)
- (nop)
- (local.set $x
- (i32.mul
- (local.get $temp)
- (i32.const 2)
- )
- )
- (nop)
- (nop)
- (nop)
- (nop)
- )
- (local.set $10
- (i32.sub
- (local.get $x)
- (local.get $temp)
- )
- )
- (return
- (local.get $10)
- )
- )
- (func $many-single-uses-with-param (param $x i32) (result i32)
- (local $1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (nop)
- (local.set $2
- (i32.mul
- (i32.const 10)
- (local.get $x)
- )
- )
- (nop)
- (local.set $4
- (i32.ctz
- (local.get $x)
- )
- )
- (local.set $5
- (i32.sub
- (local.get $4)
- (i32.const 20)
- )
- )
- (local.set $6
- (i32.add
- (local.get $2)
- (local.get $5)
- )
- )
- (local.set $7
- (i32.eqz
- (local.get $6)
- )
- )
- (return
- (local.get $7)
- )
- (unreachable)
- )
- (func $55 (param $var$0 i32)
- (local $var$1 i32)
- (local $var$2 i32)
- (local $var$3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (nop)
- (nop)
- (local.set $var$0
- (i32.add
- (local.get $var$0)
- (i32.const -7)
- )
- )
- (nop)
- (if
- (local.get $var$0)
- (block $label$2
- (block $label$3
- (nop)
- (local.set $var$1
- (local.get $var$0)
- )
- (nop)
- (local.set $8
- (i32.const 12)
- )
- (br_if $label$3
- (local.get $8)
- )
- (unreachable)
- (unreachable)
- )
- (nop)
- (local.set $10
- (i32.eqz
- (local.get $var$1)
- )
- )
- (br_if $label$2
- (local.get $10)
- )
- (block
- (local.set $11
- (i32.load
- (i32.const 0)
- )
- )
- (nop)
- (local.set $13
- (i32.ne
- (local.get $11)
- (local.get $var$0)
- )
- )
- (if
- (local.get $13)
- (block
- (unreachable)
- (unreachable)
- )
- )
- )
- (unreachable)
- (unreachable)
- )
- )
- )
- (func $multiple-uses-to-non-expression (param $x i32)
- (local $temp i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (nop)
- (nop)
- (local.set $x
- (i32.add
- (local.get $x)
- (i32.const 10)
- )
- )
- (nop)
- (i32.store
- (i32.const 1)
- (local.get $x)
- )
- (nop)
- (local.set $6
- (i32.add
- (local.get $x)
- (i32.const 20)
- )
- )
- (i32.store
- (i32.const 2)
- (local.get $6)
- )
- )
- (func $nested-phi-forwarding (param $var$0 i32) (result i32)
- (local $var$1 i32)
- (local $var$2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (block
- (block $label$1
- (block $label$2
- (loop $label$3
- (block $label$4
- (block $label$5
- (block $label$6
- (block $label$7
- (block $label$8
- (nop)
- (br_table $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$8 $label$2 $label$2 $label$2 $label$6 $label$2 $label$2 $label$7 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$2 $label$5 $label$4
- (local.get $var$0)
- )
- (unreachable)
- )
- (local.set $var$1
- (i32.const 1)
- )
- )
- (br $label$4)
- (unreachable)
- )
- (unreachable)
- (unreachable)
- )
- (br $label$1)
- (unreachable)
- )
- (local.set $var$2
- (i32.const 1)
- )
- (nop)
- (br_if $label$3
- (local.get $var$2)
- )
- )
- )
- (block $label$9
- (nop)
- (local.set $6
- (i32.or
- (i32.const 1)
- (local.get $var$1)
- )
- )
- (br_if $label$9
- (local.get $6)
- )
- )
- (unreachable)
- (unreachable)
- )
- (nop)
- (i32.store offset=176
- (i32.const 0)
- (local.get $var$2)
- )
- (nop)
- )
- (local.set $9
- (i32.const 0)
- )
- (return
- (local.get $9)
- )
- )
- (func $zext-numGets (param $var$0 i32) (param $var$1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (block $label$1
- (local.set $2
- (i32.load
- (i32.const -8)
- )
- )
- (local.set $3
- (i32.const 1)
- )
- (br_if $label$1
- (local.get $2)
- )
- (nop)
- (drop
- (local.get $3)
- )
- (local.set $5
- (i32.load
- (i32.const -16)
- )
- )
- (nop)
- (local.set $3
- (i32.eqz
- (local.get $5)
- )
- )
- )
- (nop)
- (local.set $8
- (i32.ctz
- (local.get $3)
- )
- )
- (if
- (local.get $8)
- (block
- (unreachable)
- (unreachable)
- )
- )
- )
- (func $zext-numGets-hasAnotherUse (param $var$0 i32) (param $var$1 i32)
- (local $temp i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (block $label$1
- (local.set $3
- (i32.load
- (i32.const -8)
- )
- )
- (local.set $4
- (i32.const 1)
- )
- (br_if $label$1
- (local.get $3)
- )
- (nop)
- (drop
- (local.get $4)
- )
- (local.set $6
- (i32.load
- (i32.const -16)
- )
- )
- (nop)
- (local.set $temp
- (i32.eqz
- (local.get $6)
- )
- )
- (nop)
- (drop
- (local.get $temp)
- )
- (nop)
- (local.set $4
- (local.get $temp)
- )
- )
- (nop)
- (local.set $11
- (i32.ctz
- (local.get $4)
- )
- )
- (if
- (local.get $11)
- (block
- (unreachable)
- (unreachable)
- )
- )
- )
- (func $flipped-needs-right-origin (param $var$0 i32) (result i32)
- (local $var$1 i32)
- (local $2 i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (block
- (block $label$1
- (local.set $2
- (i32.load
- (i32.const 1)
- )
- )
- (br_if $label$1
- (local.get $2)
- )
- (local.set $var$1
- (i32.const 2)
- )
- )
- (block
- (nop)
- (local.set $4
- (i32.add
- (local.get $var$1)
- (i32.const 4)
- )
- )
- (local.set $5
- (i32.gt_s
- (i32.const 3)
- (local.get $4)
- )
- )
- (if
- (local.get $5)
- (block
- (unreachable)
- (unreachable)
- )
- )
- )
- (nop)
- )
- (local.set $7
- (i32.const 5)
- )
- (return
- (local.get $7)
- )
- )
- (func $non-expr-nodes-may-have-multiple-uses-too-its-the-ORIGIN (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32)
- (local $3 i32)
- (local $4 i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (local $8 i32)
- (local $9 i32)
- (block
- (nop)
- (nop)
- (local.set $var$1
- (i32.gt_u
- (local.get $var$1)
- (i32.const 1)
- )
- )
- (nop)
- (i32.store
- (local.get $var$1)
- (i32.const 2)
- )
- (nop)
- (local.set $7
- (i32.sub
- (i32.const 4)
- (local.get $var$1)
- )
- )
- (i32.store offset=8
- (i32.const 3)
- (local.get $7)
- )
- (unreachable)
- (unreachable)
- )
- (nop)
- (return
- (local.get $8)
- )
- )
- (func $loop-of-set-connections (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) (result i32)
- (local $5 i32)
- (local $6 i32)
- (local $7 i32)
- (loop $label$1
- (block
- (if
- (i32.const 0)
- (block
- (block $block
- (nop)
- (local.set $var$2
- (i32.add
- (i32.const 0)
- (i32.const 1)
- )
- )
- (br $label$1)
- (unreachable)
- )
- (unreachable)
- )
- )
- (nop)
- (nop)
- (nop)
- (nop)
- (br $label$1)
- (unreachable)
- )
- (unreachable)
- )
- (unreachable)
- )
- (func $conditions-in-conditions (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32)
- (local $var$3 i32)
- (local $var$4 i32)
- (local $var$5 i32)
- (local $var$6 i32)
- (local $var$7 i32)
- (local $var$8 i32)
- (local $9 i32)
- (local $10 i32)
- (local $11 i32)
- (local $12 i32)
- (local $13 i32)
- (local $14 i32)
- (local $15 i32)
- (local $16 i32)
- (block
- (local.set $var$1
- (i32.const 1)
- )
- (if
- (i32.const 0)
- (loop $label$2
- (block
- (nop)
- (if
- (local.get $var$1)
- (nop)
- )
- )
- (local.set $var$3
- (i32.const 1)
- )
- (nop)
- (nop)
- (local.set $var$1
- (i32.sub
- (i32.const 0)
- (local.get $var$3)
- )
- )
- (br_if $label$2
- (i32.const 0)
- )
- )
- )
- (block
- (nop)
- (if
- (local.get $var$1)
- (local.set $var$3
- (i32.const 1)
- )
- )
- )
- (nop)
- (local.set $14
- (i32.add
- (local.get $var$3)
- (i32.const 16)
- )
- )
- (i32.store
- (i32.const 8)
- (local.get $14)
- )
- (i32.store
- (i32.const 8)
- (i32.const 64)
- )
- (unreachable)
- (unreachable)
- )
- (nop)
- (return
- (local.get $15)
- )
- )
-)