• 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
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
regalloc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
branch-elimination-unittest.cc Loading commit data...
bytecode-analysis-unittest.cc Loading commit data...
checkpoint-elimination-unittest.cc Loading commit data...
common-operator-reducer-unittest.cc Loading commit data...
common-operator-unittest.cc Loading commit data...
compiler-test-utils.h Loading commit data...
control-equivalence-unittest.cc Loading commit data...
control-flow-optimizer-unittest.cc Loading commit data...
dead-code-elimination-unittest.cc Loading commit data...
diamond-unittest.cc Loading commit data...
effect-control-linearizer-unittest.cc Loading commit data...
escape-analysis-unittest.cc Loading commit data...
graph-reducer-unittest.cc Loading commit data...
graph-reducer-unittest.h Loading commit data...
graph-trimmer-unittest.cc Loading commit data...
graph-unittest.cc Loading commit data...
graph-unittest.h Loading commit data...
instruction-selector-unittest.cc Loading commit data...
instruction-selector-unittest.h Loading commit data...
instruction-sequence-unittest.cc Loading commit data...
instruction-sequence-unittest.h Loading commit data...
instruction-unittest.cc Loading commit data...
int64-lowering-unittest.cc Loading commit data...
js-builtin-reducer-unittest.cc Loading commit data...
js-create-lowering-unittest.cc Loading commit data...
js-intrinsic-lowering-unittest.cc Loading commit data...
js-operator-unittest.cc Loading commit data...
js-typed-lowering-unittest.cc Loading commit data...
linkage-tail-call-unittest.cc Loading commit data...
live-range-builder.h Loading commit data...
liveness-analyzer-unittest.cc Loading commit data...
load-elimination-unittest.cc Loading commit data...
loop-peeling-unittest.cc Loading commit data...
machine-operator-reducer-unittest.cc Loading commit data...
machine-operator-unittest.cc Loading commit data...
node-cache-unittest.cc Loading commit data...
node-matchers-unittest.cc Loading commit data...
node-properties-unittest.cc Loading commit data...
node-test-utils.cc Loading commit data...
node-test-utils.h Loading commit data...
node-unittest.cc Loading commit data...
opcodes-unittest.cc Loading commit data...
schedule-unittest.cc Loading commit data...
scheduler-rpo-unittest.cc Loading commit data...
scheduler-unittest.cc Loading commit data...
simplified-operator-reducer-unittest.cc Loading commit data...
simplified-operator-unittest.cc Loading commit data...
state-values-utils-unittest.cc Loading commit data...
tail-call-optimization-unittest.cc Loading commit data...
typed-optimization-unittest.cc Loading commit data...
typer-unittest.cc Loading commit data...
value-numbering-reducer-unittest.cc Loading commit data...
zone-stats-unittest.cc Loading commit data...