diff options
Diffstat (limited to 'test/passes/inlining_optimize-level=3.wast')
-rw-r--r-- | test/passes/inlining_optimize-level=3.wast | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/test/passes/inlining_optimize-level=3.wast b/test/passes/inlining_optimize-level=3.wast new file mode 100644 index 000000000..21940bc82 --- /dev/null +++ b/test/passes/inlining_optimize-level=3.wast @@ -0,0 +1,58 @@ +(module + (export "yes" (func $yes)) + (export "no-loops-but-one-use-but-exported" (func $no-loops-but-one-use-but-exported)) + (table 1 1 anyfunc) + (elem (i32.const 0) $no-loops-but-one-use-but-tabled) + + (func $yes (result i32) ;; inlinable: small, lightweight, even with multi uses and a global use, ok when opt-level=3 + (i32.const 1) + ) + (func $no-tooBig (result i32) + (nop) (nop) (nop) (nop) (nop) (nop) + (nop) (nop) (nop) (nop) (nop) (nop) + (nop) (nop) (nop) (nop) (nop) (nop) + (nop) (nop) (nop) (nop) (nop) (nop) + (nop) (nop) (nop) (nop) (nop) (nop) + (nop) (nop) (nop) (nop) (nop) (nop) + (i32.const 1) + ) + (func $no-calls (result i32) + (call $yes) + ) + (func $yes-calls-but-one-use (result i32) + (call $yes) + ) + (func $no-loops (result i32) + (loop (result i32) + (i32.const 1) + ) + ) + (func $yes-loops-but-one-use (result i32) + (loop (result i32) + (i32.const 1) + ) + ) + (func $no-loops-but-one-use-but-exported (result i32) + (loop (result i32) + (i32.const 1) + ) + ) + (func $no-loops-but-one-use-but-tabled (result i32) + (loop (result i32) + (i32.const 1) + ) + ) + (func $intoHere + (drop (call $yes)) + (drop (call $no-tooBig)) + (drop (call $no-calls)) + (drop (call $no-calls)) + (drop (call $yes-calls-but-one-use)) + (drop (call $no-loops)) + (drop (call $no-loops)) + (drop (call $yes-loops-but-one-use)) + (drop (call $no-loops-but-one-use-but-exported)) + (drop (call $no-loops-but-one-use-but-tabled)) + ) +) + |