summaryrefslogtreecommitdiff
path: root/test/wasm2js/i64-add-sub.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2019-05-01 17:18:04 -0700
committerGitHub <noreply@github.com>2019-05-01 17:18:04 -0700
commitaf459403bc6e1bb99468ad05f351665143193082 (patch)
treefd6b0c2e0bd14822c3e3bb1e0f4a3b42c78bb56c /test/wasm2js/i64-add-sub.2asm.js
parent2bd3758a22131cfd6925b3fd995657b211095c90 (diff)
downloadbinaryen-af459403bc6e1bb99468ad05f351665143193082.tar.gz
binaryen-af459403bc6e1bb99468ad05f351665143193082.tar.bz2
binaryen-af459403bc6e1bb99468ad05f351665143193082.zip
wasm2js: don't run coalesce-locals if not optimizing (#2076)
That pass is very slow on unoptimized code (super-linear on the number of locals, which if unoptimized can be massive due to flatten).
Diffstat (limited to 'test/wasm2js/i64-add-sub.2asm.js')
-rw-r--r--test/wasm2js/i64-add-sub.2asm.js307
1 files changed, 172 insertions, 135 deletions
diff --git a/test/wasm2js/i64-add-sub.2asm.js b/test/wasm2js/i64-add-sub.2asm.js
index f0fdcb6ac..d27bbe3e4 100644
--- a/test/wasm2js/i64-add-sub.2asm.js
+++ b/test/wasm2js/i64-add-sub.2asm.js
@@ -21,38 +21,49 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
- function $1($0, $1_1, $2_1, $3, $4, $5) {
+ function $1($0, $0$hi, $1_1, $1$hi, r, r$hi) {
$0 = $0 | 0;
+ $0$hi = $0$hi | 0;
$1_1 = $1_1 | 0;
- $2_1 = $2_1 | 0;
- $3 = $3 | 0;
- $4 = $4 | 0;
- $5 = $5 | 0;
- var $6 = 0;
- $6 = $0 + $2_1 | 0;
- $0 = $1_1 + $3 | 0;
- if ($6 >>> 0 < $2_1 >>> 0) {
- $0 = $0 + 1 | 0
+ $1$hi = $1$hi | 0;
+ r = r | 0;
+ r$hi = r$hi | 0;
+ var i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $5$hi = 0;
+ i64toi32_i32$3 = $1_1;
+ i64toi32_i32$4 = $0 + i64toi32_i32$3 | 0;
+ i64toi32_i32$5 = $0$hi + $1$hi | 0;
+ if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) {
+ i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0
}
- $2_1 = $4;
- return ($6 | 0) == ($2_1 | 0) & ($0 | 0) == ($5 | 0) | 0 | 0;
+ $5$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = r$hi;
+ i64toi32_i32$5 = $5$hi;
+ i64toi32_i32$3 = r;
+ return (i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (r$hi | 0) | 0 | 0;
}
- function $2($0, $1_1, $2_1, $3, $4, $5) {
+ function $2($0, $0$hi, $1_1, $1$hi, r, r$hi) {
$0 = $0 | 0;
+ $0$hi = $0$hi | 0;
$1_1 = $1_1 | 0;
- $2_1 = $2_1 | 0;
- $3 = $3 | 0;
- $4 = $4 | 0;
- $5 = $5 | 0;
- var $6 = 0;
- $6 = $0;
- $0 = ($6 >>> 0 < $2_1 >>> 0) + $3 | 0;
- $0 = $1_1 - $0 | 0;
- $1_1 = $6 - $2_1 | 0;
- $6 = $5;
- $2_1 = $4;
- return ($1_1 | 0) == ($2_1 | 0) & ($0 | 0) == ($6 | 0) | 0 | 0;
+ $1$hi = $1$hi | 0;
+ r = r | 0;
+ r$hi = r$hi | 0;
+ var i64toi32_i32$5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $5$hi = 0;
+ i64toi32_i32$0 = $0$hi;
+ i64toi32_i32$0 = $1$hi;
+ i64toi32_i32$0 = $0$hi;
+ i64toi32_i32$2 = $0;
+ i64toi32_i32$3 = $1_1;
+ i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + $1$hi | 0;
+ i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0;
+ $5$hi = i64toi32_i32$5;
+ i64toi32_i32$5 = r$hi;
+ i64toi32_i32$5 = $5$hi;
+ i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$3 | 0;
+ i64toi32_i32$2 = r$hi;
+ i64toi32_i32$3 = r;
+ return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$1($0, $1_1, $2_1, $3, $4, $5) {
@@ -62,79 +73,92 @@ function asmFunc(global, env, buffer) {
$3 = $3 | 0;
$4 = $4 | 0;
$5 = $5 | 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0;
- $6 = 0;
- $10 = $0;
- $9 = $6;
- $6 = 0;
- $7 = 32;
- $8 = $7 & 31 | 0;
- if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) {
+ var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
+ i64toi32_i32$0 = 0;
+ $7 = $0;
+ $7$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = $1_1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- $0 = $1_1 << $8 | 0;
- $7 = 0;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $26 = 0;
}
} else {
{
- $0 = ((1 << $8 | 0) - 1 | 0) & ($1_1 >>> (32 - $8 | 0) | 0) | 0 | ($6 << $8 | 0) | 0;
- $7 = $1_1 << $8 | 0;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $1_1 = $0;
- $0 = $9;
- $6 = $10;
- $1_1 = $0 | $1_1 | 0;
- $11 = $6 | $7 | 0;
- $10 = $1_1;
- $1_1 = 0;
- $9 = $1_1;
- $1_1 = 0;
- $0 = $3;
- $7 = 32;
- $8 = $7 & 31 | 0;
- if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) {
+ $10$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $7$hi;
+ i64toi32_i32$0 = $7;
+ i64toi32_i32$2 = $10$hi;
+ i64toi32_i32$3 = $26;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
+ $11$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = 0;
+ $13 = $2_1;
+ $13$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$1 = $3;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- $6 = $0 << $8 | 0;
- $7 = 0;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
+ $27 = 0;
}
} else {
{
- $6 = ((1 << $8 | 0) - 1 | 0) & ($0 >>> (32 - $8 | 0) | 0) | 0 | ($1_1 << $8 | 0) | 0;
- $7 = $0 << $8 | 0;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
- $0 = $6;
- $6 = $9;
- $1_1 = $2_1;
- $0 = $6 | $0 | 0;
- $9 = $1_1 | $7 | 0;
- $2_1 = $0;
- $0 = 0;
- $3 = $0;
- $0 = 0;
- $6 = $5;
- $7 = 32;
- $8 = $7 & 31 | 0;
- if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) {
+ $16$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $13$hi;
+ i64toi32_i32$2 = $13;
+ i64toi32_i32$1 = $16$hi;
+ i64toi32_i32$3 = $27;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
+ $17$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = 0;
+ $19 = $4;
+ $19$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = $5;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- $1_1 = $6 << $8 | 0;
- $7 = 0;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
+ $28 = 0;
}
} else {
{
- $1_1 = ((1 << $8 | 0) - 1 | 0) & ($6 >>> (32 - $8 | 0) | 0) | 0 | ($0 << $8 | 0) | 0;
- $7 = $6 << $8 | 0;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
- $6 = $1_1;
- $1_1 = $3;
- $0 = $4;
- $6 = $1_1 | $6 | 0;
- $3 = $0 | $7 | 0;
- $1_1 = $6;
- $6 = $10;
- $0 = $2_1;
- return $1($11 | 0, $6 | 0, $9 | 0, $0 | 0, $3 | 0, $1_1 | 0) | 0 | 0;
+ $22$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $19$hi;
+ i64toi32_i32$1 = $19;
+ i64toi32_i32$0 = $22$hi;
+ i64toi32_i32$3 = $28;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
+ $23$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $11$hi;
+ i64toi32_i32$1 = $17$hi;
+ i64toi32_i32$2 = $23$hi;
+ return $1($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
function legalstub$2($0, $1_1, $2_1, $3, $4, $5) {
@@ -144,79 +168,92 @@ function asmFunc(global, env, buffer) {
$3 = $3 | 0;
$4 = $4 | 0;
$5 = $5 | 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0;
- $6 = 0;
- $10 = $0;
- $9 = $6;
- $6 = 0;
- $7 = 32;
- $8 = $7 & 31 | 0;
- if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) {
+ var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0;
+ i64toi32_i32$0 = 0;
+ $7 = $0;
+ $7$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = $1_1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- $0 = $1_1 << $8 | 0;
- $7 = 0;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $26 = 0;
}
} else {
{
- $0 = ((1 << $8 | 0) - 1 | 0) & ($1_1 >>> (32 - $8 | 0) | 0) | 0 | ($6 << $8 | 0) | 0;
- $7 = $1_1 << $8 | 0;
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $1_1 = $0;
- $0 = $9;
- $6 = $10;
- $1_1 = $0 | $1_1 | 0;
- $11 = $6 | $7 | 0;
- $10 = $1_1;
- $1_1 = 0;
- $9 = $1_1;
- $1_1 = 0;
- $0 = $3;
- $7 = 32;
- $8 = $7 & 31 | 0;
- if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) {
+ $10$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $7$hi;
+ i64toi32_i32$0 = $7;
+ i64toi32_i32$2 = $10$hi;
+ i64toi32_i32$3 = $26;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
+ $11$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = 0;
+ $13 = $2_1;
+ $13$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$1 = $3;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- $6 = $0 << $8 | 0;
- $7 = 0;
+ i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
+ $27 = 0;
}
} else {
{
- $6 = ((1 << $8 | 0) - 1 | 0) & ($0 >>> (32 - $8 | 0) | 0) | 0 | ($1_1 << $8 | 0) | 0;
- $7 = $0 << $8 | 0;
+ i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0;
+ $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0;
}
}
- $0 = $6;
- $6 = $9;
- $1_1 = $2_1;
- $0 = $6 | $0 | 0;
- $9 = $1_1 | $7 | 0;
- $2_1 = $0;
- $0 = 0;
- $3 = $0;
- $0 = 0;
- $6 = $5;
- $7 = 32;
- $8 = $7 & 31 | 0;
- if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) {
+ $16$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $13$hi;
+ i64toi32_i32$2 = $13;
+ i64toi32_i32$1 = $16$hi;
+ i64toi32_i32$3 = $27;
+ i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0;
+ $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0;
+ $17$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = 0;
+ $19 = $4;
+ $19$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$0 = $5;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- $1_1 = $6 << $8 | 0;
- $7 = 0;
+ i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
+ $28 = 0;
}
} else {
{
- $1_1 = ((1 << $8 | 0) - 1 | 0) & ($6 >>> (32 - $8 | 0) | 0) | 0 | ($0 << $8 | 0) | 0;
- $7 = $6 << $8 | 0;
+ i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0;
+ $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0;
}
}
- $6 = $1_1;
- $1_1 = $3;
- $0 = $4;
- $6 = $1_1 | $6 | 0;
- $3 = $0 | $7 | 0;
- $1_1 = $6;
- $6 = $10;
- $0 = $2_1;
- return $2($11 | 0, $6 | 0, $9 | 0, $0 | 0, $3 | 0, $1_1 | 0) | 0 | 0;
+ $22$hi = i64toi32_i32$2;
+ i64toi32_i32$2 = $19$hi;
+ i64toi32_i32$1 = $19;
+ i64toi32_i32$0 = $22$hi;
+ i64toi32_i32$3 = $28;
+ i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0;
+ $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0;
+ $23$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $11$hi;
+ i64toi32_i32$1 = $17$hi;
+ i64toi32_i32$2 = $23$hi;
+ return $2($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0;
}
var FUNCTION_TABLE = [];