summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-10-09 11:23:19 -0700
committerGitHub <noreply@github.com>2016-10-09 11:23:19 -0700
commit2a8fea01444dac7d95eea64c2d49b86bb58713d3 (patch)
tree6f9bd56905f2c33e2bb4bcd0b7a6fffaa94a7696 /test
parent1b32ff705c52443fc855cdfce446dcff6bf7b85c (diff)
parent9cfbe71f45a1234737178eee514b003387ff35de (diff)
downloadbinaryen-2a8fea01444dac7d95eea64c2d49b86bb58713d3.tar.gz
binaryen-2a8fea01444dac7d95eea64c2d49b86bb58713d3.tar.bz2
binaryen-2a8fea01444dac7d95eea64c2d49b86bb58713d3.zip
Merge pull request #753 from WebAssembly/cfg-opts
Minor cfg-traversal opts
Diffstat (limited to 'test')
-rw-r--r--test/passes/coalesce-locals-learning.txt24
-rw-r--r--test/passes/coalesce-locals.txt61
-rw-r--r--test/passes/coalesce-locals.wast29
3 files changed, 86 insertions, 28 deletions
diff --git a/test/passes/coalesce-locals-learning.txt b/test/passes/coalesce-locals-learning.txt
index 49afc98ec..ef8d31174 100644
--- a/test/passes/coalesce-locals-learning.txt
+++ b/test/passes/coalesce-locals-learning.txt
@@ -108,15 +108,11 @@
)
(block $block
(br $block)
+ (nop)
(drop
- (i32.const 0)
- )
- (drop
- (get_local $0)
- )
- (drop
- (i32.const -1)
+ (unreachable)
)
+ (nop)
)
(drop
(get_local $0)
@@ -395,10 +391,10 @@
(block $block
(br $block)
(drop
- (get_local $0)
+ (unreachable)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
)
@@ -407,10 +403,10 @@
(block $block
(unreachable)
(drop
- (get_local $0)
+ (unreachable)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
)
@@ -419,10 +415,10 @@
(block $block
(return)
(drop
- (get_local $0)
+ (unreachable)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
)
@@ -466,7 +462,7 @@
(i32.const 100)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
(drop
diff --git a/test/passes/coalesce-locals.txt b/test/passes/coalesce-locals.txt
index 1f89b9fa7..08573a790 100644
--- a/test/passes/coalesce-locals.txt
+++ b/test/passes/coalesce-locals.txt
@@ -108,15 +108,11 @@
)
(block $block
(br $block)
+ (nop)
(drop
- (i32.const 0)
- )
- (drop
- (get_local $0)
- )
- (drop
- (i32.const -1)
+ (unreachable)
)
+ (nop)
)
(drop
(get_local $0)
@@ -393,10 +389,10 @@
(block $block
(br $block)
(drop
- (get_local $0)
+ (unreachable)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
)
@@ -405,10 +401,10 @@
(block $block
(unreachable)
(drop
- (get_local $0)
+ (unreachable)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
)
@@ -417,10 +413,10 @@
(block $block
(return)
(drop
- (get_local $0)
+ (unreachable)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
)
@@ -464,7 +460,7 @@
(i32.const 100)
)
(drop
- (get_local $0)
+ (unreachable)
)
)
(drop
@@ -898,4 +894,41 @@
(get_local $0)
)
)
+ (func $in-unreachable (type $2)
+ (local $0 i32)
+ (block $x
+ (return)
+ (nop)
+ (drop
+ (unreachable)
+ )
+ (nop)
+ )
+ (block $y
+ (unreachable)
+ (nop)
+ (drop
+ (unreachable)
+ )
+ (nop)
+ )
+ (block $z
+ (br $z)
+ (nop)
+ (drop
+ (unreachable)
+ )
+ (nop)
+ )
+ (block $z14
+ (br_table $z14 $z14
+ (i32.const 100)
+ )
+ (nop)
+ (drop
+ (unreachable)
+ )
+ (nop)
+ )
+ )
)
diff --git a/test/passes/coalesce-locals.wast b/test/passes/coalesce-locals.wast
index da71b7665..26d90ff49 100644
--- a/test/passes/coalesce-locals.wast
+++ b/test/passes/coalesce-locals.wast
@@ -925,4 +925,33 @@
(get_local $z)
)
)
+ (func $in-unreachable
+ (local $a i32)
+ (block $x
+ (return)
+ (set_local $a (i32.const 1))
+ (drop (get_local $a))
+ (set_local $a (get_local $a))
+ )
+ (block $y
+ (unreachable)
+ (set_local $a (i32.const 1))
+ (drop (get_local $a))
+ (set_local $a (get_local $a))
+ )
+ (block $z
+ (br $z)
+ (set_local $a (i32.const 1))
+ (drop (get_local $a))
+ (set_local $a (get_local $a))
+ )
+ (block $z
+ (br_table $z $z
+ (i32.const 100)
+ )
+ (set_local $a (i32.const 1))
+ (drop (get_local $a))
+ (set_local $a (get_local $a))
+ )
+ )
)