summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/example/c-api-kitchen-sink.c6
-rw-r--r--test/example/c-api-kitchen-sink.txt145
2 files changed, 151 insertions, 0 deletions
diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c
index 65355da4a..6a7b013e4 100644
--- a/test/example/c-api-kitchen-sink.c
+++ b/test/example/c-api-kitchen-sink.c
@@ -354,7 +354,13 @@ void test_relooper() {
BinaryenFunctionRef sinker = BinaryenAddFunction(module, "loop-tail", v, localTypes, 1, body);
}
+ printf("raw:\n");
BinaryenModulePrint(module);
+
+ printf("optimized:\n");
+ BinaryenModuleOptimize(module);
+ BinaryenModulePrint(module);
+
BinaryenModuleDispose(module);
}
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 3c808c9a1..30444c886 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -346,6 +346,7 @@ BinaryenFloat64: 4
)
)
)
+raw:
(module
(memory 0)
(type $v (func))
@@ -610,3 +611,147 @@ BinaryenFloat64: 4
)
)
)
+optimized:
+(module
+ (memory 0)
+ (type $v (func))
+ (func $just-one-block (type $v)
+ (i32.const 1337)
+ )
+ (func $two-blocks (type $v)
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (func $two-blocks-plus-code (type $v)
+ (i32.const 0)
+ (i32.const 77)
+ (i32.const 1)
+ )
+ (func $loop (type $v)
+ (loop $shape$0$break $shape$0$continue
+ (i32.const 0)
+ (i32.const 1)
+ (br $shape$0$continue)
+ )
+ )
+ (func $loop-plus-code (type $v)
+ (loop $shape$0$break $shape$0$continue
+ (i32.const 0)
+ (i32.const 33)
+ (i32.const 1)
+ (i32.const -66)
+ (br $shape$0$continue)
+ )
+ )
+ (func $split (type $v)
+ (i32.const 0)
+ (select
+ (i32.const 1)
+ (i32.const 2)
+ (i32.const 55)
+ )
+ )
+ (func $split-plus-code (type $v)
+ (i32.const 0)
+ (select
+ (block
+ (i32.const 10)
+ (i32.const 1)
+ )
+ (block
+ (i32.const 20)
+ (i32.const 2)
+ )
+ (i32.const 55)
+ )
+ )
+ (func $if (type $v)
+ (i32.const 0)
+ (if
+ (i32.const 55)
+ (i32.const 1)
+ )
+ (i32.const 2)
+ )
+ (func $if-plus-code (type $v)
+ (i32.const 0)
+ (select
+ (block
+ (i32.const -1)
+ (i32.const 1)
+ (i32.const -3)
+ )
+ (i32.const -2)
+ (i32.const 55)
+ )
+ (i32.const 2)
+ )
+ (func $if-else (type $v)
+ (i32.const 0)
+ (select
+ (i32.const 1)
+ (i32.const 2)
+ (i32.const 55)
+ )
+ (i32.const 3)
+ )
+ (func $loop-tail (type $v)
+ (loop $shape$0$break $shape$0$continue
+ (i32.const 0)
+ (i32.const 1)
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $shape$0$break)
+ )
+ )
+ (i32.const 2)
+ )
+ (func $loop-tail (type $v)
+ (local $0 i32)
+ (i32.const 0)
+ (i32.const 10)
+ (loop $shape$1$break $shape$1$continue
+ (i32.const 1)
+ (if
+ (i32.eqz
+ (i32.const -2)
+ )
+ (block
+ (i32.const 20)
+ (br $shape$1$break)
+ )
+ )
+ (i32.const 2)
+ (if
+ (i32.const -6)
+ (block
+ (set_local $0
+ (i32.const 4)
+ )
+ (br $shape$1$break)
+ )
+ (block
+ (i32.const 30)
+ (br $shape$1$continue)
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $0)
+ (i32.const 4)
+ )
+ (block
+ (i32.const 3)
+ (if
+ (i32.const -10)
+ (i32.const 4)
+ )
+ (i32.const 5)
+ (i32.const 40)
+ )
+ )
+ (i32.const 6)
+ )
+)