• Ross McIlroy's avatar
    [TurboFan] Reduce memory usage of ControlEquivalence. · e73bde18
    Ross McIlroy authored
    The Control Equivalance phase was taking a lot of memory by allocating a
    large datastructure for every node even if the nodes were dead or wouldn't
    participate in the control equivalence algorithm. Instead allocate the
    data on-demand, and use the presense of the data as the flag for whether
    the node participates in the algorithm.
    
    Also remove DFS number field as it was unused.
    
    This reduces the amount of memory used for a 10,000 node graph in the linked
    bug from ~450KB to ~70KB. It also seems to reduce scheduling time by around
    10% for local runs of Octane.
    
    BUG=chromium:700364
    
    Change-Id: Iedfdf4dff0a01463c5b6471513e6b69ef010b02d
    Reviewed-on: https://chromium-review.googlesource.com/458219Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#44150}
    e73bde18
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...