diff options
author | Alon Zakai <alonzakai@gmail.com> | 2018-12-21 13:19:18 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-21 13:19:18 -0800 |
commit | fdd4cb7b11d43c6ff200c9541f8567000a8d4bcd (patch) | |
tree | 36c6a991a1a6f0b288eec05bf9ec197ba6d7624d /test/passes/local-cse.wast | |
parent | 0f41b0708384c1f5d85304d5ed94d9edd57d38c9 (diff) | |
download | binaryen-fdd4cb7b11d43c6ff200c9541f8567000a8d4bcd.tar.gz binaryen-fdd4cb7b11d43c6ff200c9541f8567000a8d4bcd.tar.bz2 binaryen-fdd4cb7b11d43c6ff200c9541f8567000a8d4bcd.zip |
LocalCSE: Consider pass options, both size and cost (#1840)
With this we can optimize redundant global accesses fairly well (at least locally; licm also works), see #1831
Diffstat (limited to 'test/passes/local-cse.wast')
-rw-r--r-- | test/passes/local-cse.wast | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/passes/local-cse.wast b/test/passes/local-cse.wast index 23ea6ff68..09534be60 100644 --- a/test/passes/local-cse.wast +++ b/test/passes/local-cse.wast @@ -1,4 +1,5 @@ (module + (global $glob (mut i32) (i32.const 1)) (func $i64-shifts (result i64) (local $temp i64) (set_local $temp @@ -18,4 +19,11 @@ ) (get_local $temp) ) + (func $global + (local $x i32) + (local $y i32) + (set_local $x (get_global $glob)) + (set_local $y (get_global $glob)) + (set_local $y (get_global $glob)) + ) ) |