diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2025-07-21 09:17:29 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-21 09:17:29 -0700 |
commit | 5b98992fb98cb9cd3c492907b262e149f84c0cb0 (patch) | |
tree | cb4505a93d9f3f81dd5795974b5dcaee076e3ecb /llvm/lib/Object/ObjectFile.cpp | |
parent | 8366dc207a2e6b50cb8afe2d98fca68bd78bd0fa (diff) | |
download | llvm-5b98992fb98cb9cd3c492907b262e149f84c0cb0.zip llvm-5b98992fb98cb9cd3c492907b262e149f84c0cb0.tar.gz llvm-5b98992fb98cb9cd3c492907b262e149f84c0cb0.tar.bz2 |
[WebAssembly] Optimize convert_iKxN_u into convert_iKxN_s (#149609)
convert_iKxN_s is canonicalized into convert_iKxN_u when the argument is
known to have sign bit 0. This results in emitting Wasm opcodes that, on
some targets (like x86_64), are dramatically slower than signed versions
on major engines.
Similarly to X86, we now fix this up in isel when the instruction has
nonneg flag from canonicalization or if we know the source has zero sign
bit.
Fixes #149457.
Diffstat (limited to 'llvm/lib/Object/ObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions