diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-03-16 11:20:26 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-03-17 17:56:17 -0700 |
commit | df8919a0de5ff258eff86c7e7bfcf0e01d928d10 (patch) | |
tree | e898f5f53bf1afedd0370a7b58cee7545408b9f5 /tools/test-js-optimizer-si.js | |
parent | dc70532c6a3f624f8b501d64f7e26d140da8827d (diff) |
fuse elses to remove unnecessary label settings and checks, after we simplified ifs
Diffstat (limited to 'tools/test-js-optimizer-si.js')
-rw-r--r-- | tools/test-js-optimizer-si.js | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/tools/test-js-optimizer-si.js b/tools/test-js-optimizer-si.js index def2b5d9..78683d6c 100644 --- a/tools/test-js-optimizer-si.js +++ b/tools/test-js-optimizer-si.js @@ -125,5 +125,55 @@ function a() { } else { label = 5; } + fuseElses(); + if (x) { + if (y) { + f(); + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + label = 0; + a(); + } + if (x) { + if (y) { + f(); + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 6) { + label = 0; + a(); + } + if (x) { + if (y) { + f(); + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + a(); + } +} +function b() { + if (x) { // will not be fused, since we did not eliminate with elses + a(); + } else { + label = 5; + } + if ((label|0) == 5) { + label = 0; + a(); + } } - +// EMSCRIPTEN_GENERATED_FUNCTIONS: ["a", "b"] |