• 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
control-equivalence.h 7.23 KB