aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-si.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-03-16 11:20:26 -0700
committerAlon Zakai <alonzakai@gmail.com>2014-03-17 17:56:17 -0700
commitdf8919a0de5ff258eff86c7e7bfcf0e01d928d10 (patch)
treee898f5f53bf1afedd0370a7b58cee7545408b9f5 /tools/test-js-optimizer-si.js
parentdc70532c6a3f624f8b501d64f7e26d140da8827d (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.js52
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"]