diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/asm2wasm.h | 2 | ||||
-rw-r--r-- | src/emscripten-optimizer/optimizer-shared.cpp | 4 | ||||
-rw-r--r-- | src/emscripten-optimizer/optimizer.h | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h index ff378fee6..474a36121 100644 --- a/src/asm2wasm.h +++ b/src/asm2wasm.h @@ -252,7 +252,7 @@ private: return view->second.type; } } - return detectType(ast, data); + return detectType(ast, data, false, Math_fround); } WasmType detectWasmType(Ref ast, AsmData *data) { diff --git a/src/emscripten-optimizer/optimizer-shared.cpp b/src/emscripten-optimizer/optimizer-shared.cpp index e37408b19..c67b8332a 100644 --- a/src/emscripten-optimizer/optimizer-shared.cpp +++ b/src/emscripten-optimizer/optimizer-shared.cpp @@ -42,7 +42,7 @@ HeapInfo parseHeap(const char *name) { return ret; } -AsmType detectType(Ref node, AsmData *asmData, bool inVarDef) { +AsmType detectType(Ref node, AsmData *asmData, bool inVarDef, IString minifiedFround) { switch (node[0]->getCString()[0]) { case 'n': { if (node[0] == NUM) { @@ -80,7 +80,7 @@ AsmType detectType(Ref node, AsmData *asmData, bool inVarDef) { if (node[0] == CALL) { if (node[1][0] == NAME) { IString name = node[1][1]->getIString(); - if (name == MATH_FROUND) return ASM_FLOAT; + if (name == MATH_FROUND || name == minifiedFround) return ASM_FLOAT; else if (name == SIMD_FLOAT32X4 || name == SIMD_FLOAT32X4_CHECK) return ASM_FLOAT32X4; else if (name == SIMD_FLOAT64X2 || name == SIMD_FLOAT64X2_CHECK) return ASM_FLOAT64X2; else if (name == SIMD_INT8X16 || name == SIMD_INT8X16_CHECK) return ASM_INT8X16; diff --git a/src/emscripten-optimizer/optimizer.h b/src/emscripten-optimizer/optimizer.h index 4720909a5..629963595 100644 --- a/src/emscripten-optimizer/optimizer.h +++ b/src/emscripten-optimizer/optimizer.h @@ -39,7 +39,7 @@ enum AsmType { struct AsmData; -AsmType detectType(cashew::Ref node, AsmData *asmData=nullptr, bool inVarDef=false); +AsmType detectType(cashew::Ref node, AsmData *asmData=nullptr, bool inVarDef=false, cashew::IString minifiedFround=cashew::IString()); struct AsmData { struct Local { |