1. 06 Feb, 2021 1 commit
    • Manos Koukoutos's avatar
      [turbofan] Refactor loop peeling/analysis infrastructure for unrolling · a6e01fb9
      Manos Koukoutos authored
      In preparation of loop unrolling, we move some loop analysis
      infrastructure out of loop-peeling.{h, cc}, and implement some
      additional required functionality.
      
      Changes:
      - Implement inner_loops() in loop-analysis.h. Change some parameters
        in other functions from Loop* to (const Loop*) to accommodate this
        change.
      - Move Peeling class into loop-analysis, rename it to NodeCopier.
      - Simplify NodeCopier::CopyNodes().
      - Allow NodeCopier to produce multiple copies of the targeted Nodes.
      - Introduce LoopFinder::HasMarkedExits(). Move the implementation of
        LoopPeeling::CanPeel() there. CanPeel() is now an alias for
        HasMarkedExits().
      
      Bug: v8:11298
      Change-Id: I245b2e937393e4a78ce4d355e1290aaf6e617114
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2672019
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72555}
      a6e01fb9
  2. 24 May, 2019 1 commit
  3. 17 Sep, 2018 1 commit
  4. 18 May, 2018 1 commit
  5. 13 Dec, 2017 1 commit
  6. 17 Oct, 2016 1 commit
  7. 15 Jul, 2016 1 commit
  8. 14 Jul, 2016 1 commit
    • jarin's avatar
      [turbofan] Introduce explicit loop exits markers. · 7a61bbcf
      jarin authored
      This CL introduces explicit LoopExit control nodes at loop exits.
      We also attach explicit value renames (LoopExitMarker) and effect
      rename (LoopExitEffect) to each loop exit. This is in preparation
      to loop peeling, which will replace LoopExit, LoopExitMarker and
      LoopExitEffect with Merge, Phi and EffectPhi respectively.
      
      At the moment, we insert loop exit at every return, break,
      continue and locally caught throw. We do not yet handle
      uncaught throws (including error throws, such as ReferenceError).
      
      Review-Url: https://codereview.chromium.org/2140673007
      Cr-Commit-Position: refs/heads/master@{#37769}
      7a61bbcf
  9. 07 Apr, 2015 1 commit
  10. 20 Jan, 2015 1 commit