1. 17 Sep, 2018 1 commit
  2. 11 Jul, 2017 1 commit
    • 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
  3. 04 Nov, 2016 1 commit
    • leszeks's avatar
      [turbofan] Do not replace actual duplicates when value numbering · b7761100
      leszeks authored
      The value numbering reducer has collision checks for nodes that mutated,
      but kept the same hash, and are now equivalent to another node. However,
      it can also accidentally hit itself, if it mutated, changed hash, but
      ran over the location it was previously in.
      
      After this patch, it checks to see if it is comparing against itself,
      and skips over itself. Additionally, if this check is at the end of the
      collisions, it opportunistically removes the duplicate entry and reduces
      the size pressure on the list. We can do the same opportunistic clean up
      if we happen to find a colliding equivalent entry, since we move it from
      its original position to a new one.
      
      Drive-by change: Ensure that the collision replacement checks types in
      the same way that normal replacement does.
      
      Review-Url: https://codereview.chromium.org/2475653002
      Cr-Commit-Position: refs/heads/master@{#40757}
      b7761100
  4. 03 Nov, 2016 1 commit
  5. 17 Oct, 2016 1 commit
  6. 14 Jul, 2016 1 commit
  7. 20 Apr, 2015 1 commit
  8. 12 Dec, 2014 1 commit
  9. 08 Oct, 2014 1 commit
  10. 04 Sep, 2014 1 commit