• Michael Starzinger's avatar
    [turbofan] Elide redundant {IfSuccess} control projections. · 6fca2cfa
    Michael Starzinger authored
    This changes the IR to no longer require single {IfSuccess} projection
    nodes unless there is a corresponding {IfException} node that links the
    potentially throwing call to an exception handler. This reduces graph
    size as well as compilation time when exception handlers aren't present.
    
    The new invariant for potentially throwing nodes is: Nodes that can
    potentially throw either have both IfSuccess/IfException projections as
    the only control uses and no direct control uses, or no projections at
    all and solely direct control uses.
    
    R=jarin@chromium.org
    
    Change-Id: I3d9cd816d74ad5af13e0673da7ec7a98f1ecdc7e
    Reviewed-on: https://chromium-review.googlesource.com/449715
    Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#43814}
    6fca2cfa
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.gitignore Loading commit data...
.gn 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...
Makefile Loading commit data...
Makefile.android 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...