• Stephan Herhut's avatar
    [wasm] Always run GVN to remove codegen artifacts · 9f60faac
    Stephan Herhut authored
    Code generation for stack checks and protected loads produces duplicate
    loads of the stack pointer and memory base address. Without gvn these
    turn into actual move operations and sign conversions. Even worse, as
    turbofan seems to hoist the stack pointer loads to early blocks, I saw
    a high register pressure and many spills.
    
    While there is some compile time cost for gvn, I expect it to be rather
    low. On the positive side, I see about a 5% performance inprovement for
    some benchmarks. If compilation time turns out to be an issue, we can
    still revert.
    
    Change-Id: I13be2ace5b27c51c32430d0cb14fbbe8f31fbf6f
    Reviewed-on: https://chromium-review.googlesource.com/1095335Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Commit-Queue: Stephan Herhut <herhut@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53657}
    9f60faac
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...