diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-11-05 19:29:26 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-11-06 10:13:12 -0800 |
commit | 57d0a549d715a25b471c8913c3013fc407eceea6 (patch) | |
tree | 4984374220181ca61044bd7d8849aaec2084c1ec /test/passes/simplify-locals.txt | |
parent | 5447c53b612c8d0f0d0902efe5053f2f81bd1595 (diff) | |
download | binaryen-57d0a549d715a25b471c8913c3013fc407eceea6.tar.gz binaryen-57d0a549d715a25b471c8913c3013fc407eceea6.tar.bz2 binaryen-57d0a549d715a25b471c8913c3013fc407eceea6.zip |
improve local simplication: simplify without if/block structure values before coalesce, so that coalesce can remove all copies, then do another pass of full simplification after it
Diffstat (limited to 'test/passes/simplify-locals.txt')
-rw-r--r-- | test/passes/simplify-locals.txt | 52 |
1 files changed, 42 insertions, 10 deletions
diff --git a/test/passes/simplify-locals.txt b/test/passes/simplify-locals.txt index 9175b3565..c9601940b 100644 --- a/test/passes/simplify-locals.txt +++ b/test/passes/simplify-locals.txt @@ -19,6 +19,8 @@ (local $x i32) (local $y i32) (local $z i32) + (local $a i32) + (local $b i32) (nop) (if (tee_local $x @@ -44,6 +46,36 @@ (i32.const 5) ) ) + (nop) + (drop + (if i32 + (i32.const 6) + (block i32 + (nop) + (i32.const 7) + ) + (block i32 + (nop) + (i32.const 8) + ) + ) + ) + (nop) + (drop + (block $val i32 + (if + (i32.const 10) + (block $block4 + (nop) + (br $val + (i32.const 11) + ) + ) + ) + (nop) + (i32.const 12) + ) + ) ) (func $b0-yes (type $4) (param $i1 i32) (local $x i32) @@ -255,7 +287,7 @@ (nop) (set_local $a (block $block i32 - (block $block4 + (block $block5 (nop) (i32.store (i32.const 104) @@ -269,8 +301,8 @@ ) (call $waka) (set_local $a - (block $block5 i32 - (block $block6 + (block $block6 i32 + (block $block7 (nop) (i32.store (i32.const 106) @@ -288,8 +320,8 @@ ) (call $waka) (set_local $a - (block $block7 i32 - (block $block8 + (block $block8 i32 + (block $block9 (nop) (i32.store (i32.const 108) @@ -311,8 +343,8 @@ ) (call $waka) (set_local $a - (block $block9 i32 - (block $block10 + (block $block10 i32 + (block $block11 (nop) (i32.store (i32.const 110) @@ -733,10 +765,10 @@ (drop (get_local $x) ) - (block $moar17 + (block $moar18 (set_local $y - (block $block18 i32 - (br_if $moar17 + (block $block19 i32 + (br_if $moar18 (get_local $y) ) (i32.const 0) |