diff options
Diffstat (limited to 'test/passes/duplicate-function-elimination.txt')
-rw-r--r-- | test/passes/duplicate-function-elimination.txt | 864 |
1 files changed, 864 insertions, 0 deletions
diff --git a/test/passes/duplicate-function-elimination.txt b/test/passes/duplicate-function-elimination.txt new file mode 100644 index 000000000..9595f5705 --- /dev/null +++ b/test/passes/duplicate-function-elimination.txt @@ -0,0 +1,864 @@ +(module + (memory 0) + (func $erase + (nop) + ) +) +(module + (memory 0) + (func $keep2 + (i32.const 0) + ) + (func $other + (nop) + ) +) +(module + (memory 0) + (func $erase + (i32.const 0) + ) +) +(module + (memory 0) + (func $keep2 + (i32.const 0) + ) + (func $other + (i32.const 1) + ) +) +(module + (memory 0) + (start $keep2) + (export "keep2" $keep2) + (export "other" $keep2) + (table $keep2 $keep2 $caller) + (func $keep2 + (nop) + ) + (func $caller + (call $keep2) + (call $keep2) + ) +) +(module + (memory 0) + (func $keep2-after-two-passes + (nop) + ) + (func $keep-caller + (call $keep2-after-two-passes) + ) +) +(module + (memory 0) + (func $keep-4 + (nop) + ) + (func $other + (unreachable) + ) + (func $keep-caller + (call $keep-4) + ) + (func $other-caller + (call $other) + ) +) +(module + (memory 0) + (type $T (func (result i32))) + (type $S (func (result i32))) + (func $keep4-similar-but-func-sig-differs + (i32.const 0) + ) + (func $other1 (param $i i32) + (i32.const 0) + ) + (func $other2 (type $T) (result i32) + (i32.const 0) + ) + (func $other3 (type $S) (result i32) + (i32.const 0) + ) +) +(module + (memory 0) + (type $S (func (result i32))) + (func $keep2-similar-but-func-sig-differs (param $i i32) + (i32.const 0) + ) + (func $other2 (type $S) (result i32) + (i32.const 0) + ) +) +(module + (memory 0) + (func $keep2 + (nop) + ) + (func $other + (nop) + (nop) + ) +) +(module + (memory 0) + (func $erase + (block $block0 + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $block0 + ) + ) + (func $other + (block $block0 + (nop) + ) + ) +) +(module + (memory 0) + (func $erase + (block $block0 + (nop) + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $block0 + (nop) + ) + ) + (func $other + (block $block0 + (nop) + (unreachable) + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $block0 + (nop) + ) + ) + (func $other + (block $block0 + (unreachable) + ) + ) +) +(module + (memory 0) + (func $erase-since-block-names-do-not-matter + (block $foo + ) + ) +) +(module + (memory 0) + (func $erase-since-block-names-do-not-matter + (block $foo + (br $foo) + (br_table $foo $foo + (i32.const 0) + ) + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $foo + (br $foo + (i32.const 0) + ) + ) + ) + (func $other + (block $bar + (br $bar + (i32.const 1) + ) + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $foo + (br_if $foo + (i32.const 0) + ) + ) + ) + (func $other + (block $bar + (br_if $bar + (i32.const 1) + ) + ) + ) +) +(module + (memory 0) + (func $erase + (block $foo + (br_if $foo + (i32.const 0) + ) + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $foo + (br_table $foo $foo + (i32.const 0) + ) + ) + ) + (func $other + (block $bar + (br_table $bar $bar + (i32.const 1) + ) + ) + ) +) +(module + (memory 0) + (func $erase + (loop $foo $bar + (nop) + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $foo + (br_table $foo $foo + (i32.const 0) + (i32.const 0) + ) + ) + ) + (func $other + (block $bar + (br_table $bar $bar + (i32.const 0) + (i32.const 1) + ) + ) + ) +) +(module + (memory 0) + (func $keep2 + (block $foo + (block $bar + (br_table $foo $bar + (i32.const 0) + ) + ) + ) + ) +) +(module + (memory 0) + (func $erase + (block $foo + (block $bar + (br_table $foo $bar + (i32.const 0) + ) + ) + ) + ) + (func $other + (block $bar + (block $foo + (br_table $foo $bar + (i32.const 0) + ) + ) + ) + ) +) +(module + (memory 0) + (func $erase + (call $erase) + ) +) +(module + (memory 0) + (func $keep2-but-in-theory-we-could-erase + (call $keep2-but-in-theory-we-could-erase) + ) + (func $other + (call $other) + ) +) +(module + (memory 0) + (type $FUNCSIG$v (func)) + (import $i "env" "i") + (import $i "env" "j") + (func $erase + (call_import $i) + ) +) +(module + (memory 0) + (type $FUNCSIG$v (func)) + (import $i "env" "i") + (import $j "env" "j") + (func $keep2 + (call_import $i) + ) + (func $other + (call_import $j) + ) +) +(module + (memory 0) + (type $T (func)) + (table $erase $erase) + (func $erase + (call_indirect $T + (i32.const 0) + ) + ) +) +(module + (memory 0) + (type $T (func)) + (table $keep2 $other) + (func $keep2 + (call_indirect $T + (i32.const 0) + ) + ) + (func $other + (call_indirect $T + (i32.const 1) + ) + ) +) +(module + (memory 0) + (type $T (func)) + (type $S (func)) + (table $keep2 $other) + (func $keep2 + (call_indirect $T + (i32.const 0) + ) + ) + (func $other + (call_indirect $S + (i32.const 0) + ) + ) +) +(module + (memory 0) + (func $erase-even-locals-with-different-names + (local $i i32) + (get_local $i) + ) +) +(module + (memory 0) + (func $keep2 + (local $i i32) + (get_local $i) + ) + (func $other + (local $j i64) + (get_local $j) + ) +) +(module + (memory 0) + (func $erase-even-locals-with-different-names + (local $i i32) + (set_local $i + (i32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep2 + (local $i i32) + (set_local $i + (i32.const 0) + ) + ) + (func $other + (local $j i64) + (set_local $j + (i64.const 0) + ) + ) +) +(module + (memory 0) + (func $keep2 + (local $i i32) + (set_local $i + (i32.const 0) + ) + ) + (func $other + (local $j i32) + (set_local $j + (i32.const 1) + ) + ) +) +(module + (memory 10) + (func $erase + (i32.load + (i32.const 0) + ) + (i32.load8_s offset=3 align=2 + (i32.const 0) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.load16_s offset=3 + (i32.const 0) + ) + ) + (func $other + (i32.load8_s offset=3 align=2 + (i32.const 0) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.load8_s offset=3 + (i32.const 0) + ) + ) + (func $other + (i32.load8_s offset=3 align=2 + (i32.const 0) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.load8_s align=2 + (i32.const 0) + ) + ) + (func $other + (i32.load8_s offset=3 align=2 + (i32.const 0) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.load8_s offset=3 align=2 + (i32.const 0) + ) + ) + (func $other + (i32.load8_s offset=3 align=2 + (i32.const 1) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.load8_u offset=3 align=2 + (i32.const 0) + ) + ) + (func $other + (i32.load8_s offset=3 align=2 + (i32.const 0) + ) + ) +) +(module + (memory 10) + (func $erase + (i32.store + (i32.const 0) + (i32.const 100) + ) + (i32.store8 offset=3 align=2 + (i32.const 0) + (i32.const 100) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.store16 offset=3 + (i32.const 0) + (i32.const 100) + ) + ) + (func $other + (i32.store8 offset=3 align=2 + (i32.const 0) + (i32.const 100) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.store8 offset=3 + (i32.const 0) + (i32.const 100) + ) + ) + (func $other + (i32.store8 offset=3 align=2 + (i32.const 0) + (i32.const 100) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.store8 align=2 + (i32.const 0) + (i32.const 100) + ) + ) + (func $other + (i32.store8 offset=3 align=2 + (i32.const 0) + (i32.const 100) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.store8 offset=3 align=2 + (i32.const 0) + (i32.const 100) + ) + ) + (func $other + (i32.store8 offset=3 align=2 + (i32.const 1) + (i32.const 100) + ) + ) +) +(module + (memory 10) + (func $keep2 + (i32.store8 offset=3 align=2 + (i32.const 0) + (i32.const 100) + ) + ) + (func $other + (i32.store8 offset=3 align=2 + (i32.const 0) + (i32.const 101) + ) + ) +) +(module + (memory 0) + (func $keep2 + (i32.const 0) + ) + (func $other + (i64.const 0) + ) +) +(module + (memory 0) + (func $keep2 + (i32.const 0) + ) + (func $other + (f32.const 0) + ) +) +(module + (memory 0) + (func $keep2 + (i32.const 0) + ) + (func $other + (f64.const 0) + ) +) +(module + (memory 0) + (func $keep2 + (i64.const 0) + ) + (func $other + (i64.const 1) + ) +) +(module + (memory 0) + (func $keep2 + (f32.const 0.10000000149011612) + ) + (func $other + (f32.const -0.10000000149011612) + ) +) +(module + (memory 0) + (func $keep2 + (f64.const 0.1) + ) + (func $other + (f64.const 0.2) + ) +) +(module + (memory 0) + (func $erase + (f32.abs + (f32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep2 + (f32.abs + (f32.const 0) + ) + ) + (func $other + (f32.abs + (f32.const 1) + ) + ) +) +(module + (memory 0) + (func $keep2 + (f32.abs + (f32.const 0) + ) + ) + (func $other + (f32.neg + (f32.const 0) + ) + ) +) +(module + (memory 0) + (func $erase + (f32.add + (f32.const 0) + (f32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep2 + (f32.add + (f32.const 0) + (f32.const 0) + ) + ) + (func $other + (f32.add + (f32.const 0) + (f32.const 1) + ) + ) +) +(module + (memory 0) + (func $keep2 + (f32.add + (f32.const 0) + (f32.const 0) + ) + ) + (func $other + (f32.add + (f32.const 1) + (f32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep2 + (f32.add + (f32.const 0) + (f32.const 0) + ) + ) + (func $other + (f32.sub + (f32.const 0) + (f32.const 0) + ) + ) +) +(module + (memory 0) + (func $erase + (select + (i32.const 0) + (i32.const 0) + (i32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep + (select + (i32.const 0) + (i32.const 0) + (i32.const 0) + ) + ) + (func $other + (select + (i32.const 1) + (i32.const 0) + (i32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep + (select + (i32.const 0) + (i32.const 0) + (i32.const 0) + ) + ) + (func $other + (select + (i32.const 0) + (i32.const 2) + (i32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep + (select + (i32.const 0) + (i32.const 0) + (i32.const 0) + ) + ) + (func $other + (select + (i32.const 0) + (i32.const 0) + (i32.const 3) + ) + ) +) +(module + (memory 0) + (func $erase + (return) + ) +) +(module + (memory 0) + (func $erase (result i32) + (return + (i32.const 0) + ) + ) +) +(module + (memory 0) + (func $keep (result i32) + (return + (i32.const 0) + ) + ) + (func $other (result i32) + (return + (i32.const 1) + ) + ) +) +(module + (memory 0) + (func $erase + (current_memory) + ) +) +(module + (memory 0) + (func $erase + (grow_memory + (i32.const 10) + ) + ) +) +(module + (memory 0) + (func $keep + (grow_memory + (i32.const 10) + ) + ) + (func $other + (grow_memory + (i32.const 11) + ) + ) +) +(module + (memory 0) + (func $keep + (current_memory) + ) + (func $other + (grow_memory + (i32.const 10) + ) + ) +) |