diff options
author | Dan Gohman <sunfish@google.com> | 2013-12-19 15:28:27 -0800 |
---|---|---|
committer | Dan Gohman <sunfish@google.com> | 2013-12-19 15:28:27 -0800 |
commit | 47e803a62598194891eae3aaef50f551f5fdc4bb (patch) | |
tree | 410eddbdd187e299057315d21140be19d3c0c77d /tools/test-js-optimizer-asm-pre.js | |
parent | 970cd15cd79a538b2dc404a16bfa2745915f6b17 (diff) |
Optimize away masks on stores to HEAP8 and HEAP16.
Optimize HEAP8[i] = x & 255 to HEAP8[i] = x, and similar for HEAP16.
Diffstat (limited to 'tools/test-js-optimizer-asm-pre.js')
-rw-r--r-- | tools/test-js-optimizer-asm-pre.js | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-pre.js b/tools/test-js-optimizer-asm-pre.js index 9e6edf0f..dadeef53 100644 --- a/tools/test-js-optimizer-asm-pre.js +++ b/tools/test-js-optimizer-asm-pre.js @@ -66,6 +66,10 @@ function b($this, $__n) { HEAP8[($38 + $40 | 0) & 16777215] = 0; // Eliminate the |0. HEAP32[$4] = ((~(HEAP32[$5]|0))|0); + // Eliminate the &255 + HEAP8[$4] = HEAP32[$5]&255; + // Eliminate the &65535 + HEAP16[$4] = HEAP32[$5]&65535; // Rewrite to ~. HEAP32[$4] = HEAP32[$5]^-1; // Rewrite to ~ and eliminate the |0. |