1. 28 Jul, 2020 1 commit
  2. 28 Aug, 2019 1 commit
  3. 24 May, 2019 1 commit
  4. 15 Jun, 2018 1 commit
  5. 02 Feb, 2018 2 commits
  6. 01 Feb, 2018 1 commit
  7. 31 Jan, 2018 1 commit
  8. 12 Jul, 2017 1 commit
    • Mythri's avatar
      [TurboFan] In branch-elimination create ControlPathConditions only if needed · 2ea3b16c
      Mythri authored
      In branch elimination phase, control paths are updated when visiting
      the nodes. We first create a control path and then check if it is
      same as the exisiting one. If it is the same we discard the newly
      created one. Since these are created in the zone memory the memory
      will not be released till the entire pass is over. This cl changes
      it to first check if the control path has changed and create a new
      path only if it has changed.
      
      Bug: chromium:725664,v8:6150
      Change-Id: I67fbea13036f85999c7ed366c571f8dc1c17a023
      Reviewed-on: https://chromium-review.googlesource.com/563406Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Mythri Alle <mythria@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#46598}
      2ea3b16c
  9. 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
  10. 04 Apr, 2017 1 commit
  11. 17 Oct, 2016 1 commit
  12. 24 Feb, 2016 1 commit
  13. 17 Oct, 2015 1 commit
    • jarin's avatar
      [turbofan] Redundant branch elimination. · 106aecf2
      jarin authored
      Removes a branch that checks for a condition that has been checked on dominators of the branch.
      
      This introduces a new reducer that propagates the list of checked conditions (and their boolean values) through the control flow graph. If it encounters a branch checking a condition with a known value, the branch is eliminated.
      
      The analysis relies on loops being reducible: if a condition has been checked on all paths to loop entry, then it is checked in the loop (regardless what of the conditions checked inside the loop).
      
      The implementation is fairly naive and could be improved:
      
      - all the operation on the condition lists could be made allocation-free when revisited.
      
      - we could try to use a map structure rather than a linked list (to make
      lookups faster).
      
      - the merging of control flow could be changed to take into account
        conditions from non-dominating paths (as long as all paths check
        the condition).
      
      Review URL: https://codereview.chromium.org/1376293005
      
      Cr-Commit-Position: refs/heads/master@{#31347}
      106aecf2