diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/emscripten-optimizer/optimizer-shared.cpp | 5 | ||||
-rw-r--r-- | src/emscripten-optimizer/optimizer.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/emscripten-optimizer/optimizer-shared.cpp b/src/emscripten-optimizer/optimizer-shared.cpp index 09b458138..7fe91eeab 100644 --- a/src/emscripten-optimizer/optimizer-shared.cpp +++ b/src/emscripten-optimizer/optimizer-shared.cpp @@ -228,3 +228,8 @@ Ref makeAsmCoercion(Ref node, AsmType type) { } } +Ref makeSigning(Ref node, AsmSign sign) { + assert(sign == ASM_SIGNED || sign == ASM_UNSIGNED); + return ValueBuilder::makeBinary(node, sign == ASM_SIGNED ? OR : TRSHIFT, ValueBuilder::makeNum(0)); +} + diff --git a/src/emscripten-optimizer/optimizer.h b/src/emscripten-optimizer/optimizer.h index 00303aee9..6850214c2 100644 --- a/src/emscripten-optimizer/optimizer.h +++ b/src/emscripten-optimizer/optimizer.h @@ -140,5 +140,7 @@ inline cashew::Ref deStat(cashew::Ref node) { cashew::Ref makeAsmCoercedZero(AsmType type); cashew::Ref makeAsmCoercion(cashew::Ref node, AsmType type); +cashew::Ref makeSigning(cashew::Ref node, AsmSign sign); + #endif // __optimizer_h__ |