summaryrefslogtreecommitdiff
path: root/test/example/c-api-unused-mem.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-09-07 09:06:38 -0700
committerGitHub <noreply@github.com>2022-09-07 09:06:38 -0700
commit90848f83b3f7bccc0ec815be7a3c0a783a134b03 (patch)
tree5f84f8962a4a61c21b44b7c21f0de97848c77e78 /test/example/c-api-unused-mem.cpp
parent16f72aae58b6c856d405d6d608efd436549ea678 (diff)
downloadbinaryen-90848f83b3f7bccc0ec815be7a3c0a783a134b03.tar.gz
binaryen-90848f83b3f7bccc0ec815be7a3c0a783a134b03.tar.bz2
binaryen-90848f83b3f7bccc0ec815be7a3c0a783a134b03.zip
Switch to i32 operations when heading to a wrap anyhow (#5022)
E.g. if we just do addition etc., then any higher bits will be wrapped out anyhow: int32_t(int64_t(x) + int64_t(10)) => x + int32_t(10) Found by the superoptimizer #4994 . This is by far the most promising suggestion it had. Interestingly, it mainly helps Go, where it removes 20% of all Unary operations (the extends and wraps), and Rust, where it removes 3%. Helps #5004. This handles the common cases I see in the superoptimizer output, but there are more that could be handled.
Diffstat (limited to 'test/example/c-api-unused-mem.cpp')
0 files changed, 0 insertions, 0 deletions