• Sigurd Schneider's avatar
    [turbofan] Make typed optimization more powerful · 9b0e4e13
    Sigurd Schneider authored
    This CL moves optimization capabilities from typed lowering to typed
    optimization. In particular, this allows retyping of Speculative to
    number optimizations depending on their input types. This can save type
    checks if we know that inputs are already in SafeIntegerRange and uses
    are truncating to 32bit integers.
    
    This change recovers the performance lost to 31bit Smis on
    Octane/crypto on x64:
    32bit nosmis           avg 30,984.84 stddev 180.52
    31bit smis (w/o patch) avg 29,438.52 stddev 120.30  -4.99%
    31bit smis             avg 31,274.52 stddev 176.26  +0.93%  +6.24%
    
    Change-Id: I86d6e37305262336f4f7bd46aac0d2cbca11e8c1
    Bug: v8:8344
    Reviewed-on: https://chromium-review.googlesource.com/c/1323729
    Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57717}
    9b0e4e13
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...
.clang-tidy 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...