• jarin's avatar
    [turbofan] Restrict types in load elimination. · 4142bc6b
    jarin authored
    In simplified numbering, we make sanity checks based on types (e.g.,
    NumberSubtract should take numbers as inputs), but this can be
    violated if optimization passes make types less precise.
    
    In this CL, we fix load elimination to make sure that types are
    smaller in the store -> load elimination by taking an intersection
    of the load's type with the store value's type and inserting a guard
    with that type. Note that the load type comes from type feedback, so
    it can be disjoint from the stored value type (in that case, this
    must be dead code because the map chack for the load should prevent
    us from using the stored value).
    
    BUG=chromium:599412
    LOG=n
    
    Review URL: https://codereview.chromium.org/1857133003
    
    Cr-Commit-Position: refs/heads/master@{#35259}
    4142bc6b
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs 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/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore 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.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl 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...