diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-06-04 15:02:20 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-06-04 15:22:53 -0700 |
commit | 3b6cd16ed015e90fa54127a903343e7bf65c86ce (patch) | |
tree | 9de6eb57a98463afa6a0538602fb4618a49bc420 /tools/test-js-optimizer-asm-last.js | |
parent | 3431eab292e0b9e2359b183fa2c954eb7e5cf7e7 (diff) |
pull code out of loops when they have a single break and it allows us to turn them into simpler do-whiles
Diffstat (limited to 'tools/test-js-optimizer-asm-last.js')
-rw-r--r-- | tools/test-js-optimizer-asm-last.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-last.js b/tools/test-js-optimizer-asm-last.js index d8caeb41..6261e915 100644 --- a/tools/test-js-optimizer-asm-last.js +++ b/tools/test-js-optimizer-asm-last.js @@ -87,6 +87,38 @@ function looop() { break; } } + while (1) { + blah(); + if (shah()) { + a = b; + break; + } + } + LABELED: while (1) { + blah(); + if (shah()) { + c = d; + break; + } + } + while (1) { + blah(); + if (check) break; // prevents optimization + if (shah()) { + e = f; + break; + } + } + while (1) { + blah(); + while (1) { + if (check) break; // safe to optimize + } + if (shah()) { + g = h; + break; + } + } } // EMSCRIPTEN_GENERATED_FUNCTIONS: ["finall", "looop"] |