• Alexandre Talon's avatar
    [Turbofan] Enable reducers to report their name to make reducer tracing clearer · 7a75da34
    Alexandre Talon authored
    Each reducer now has a virtual reducer_name function, returning its name
    (the name of the class containing this reducer). This gets displayed when
    using the --trace_turbo_reduction flag. Also when using this flags more
    messages are displayed.
    
    Actually when a node is replaced in-place (which is called an update
    of the node), other reducers can still update it right after the
    in-place replacement. When a node is really replaced (not in-place),
    then we stop trying to apply reducers to it before we propagate the
    reduction through the relevant nodes.
    
    Before a message got printed only for the last reduction it went
    through. So in case a node was reduced in-place several times
    in a row, only the last update was printed, or none at all if after
    being reduced in-place it got reduced by being replaced by another
    node: only the non-in-place replacement was showed. 
    
    Now each time an in-place reduction is applied to a node, a message
    gets printed.
    
    Bug: 
    Change-Id: Id0f816fecd44c01d0253966c6decc4861be0c2fa
    Reviewed-on: https://chromium-review.googlesource.com/563365Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Commit-Queue: Alexandre Talon <alexandret@google.com>
    Cr-Commit-Position: refs/heads/master@{#46552}
    7a75da34
graph-reducer-unittest.cc 25.6 KB