Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: cd234bf8bc3644323671cf0d0a28de49b6e8354a
      
https://github.com/WebKit/WebKit/commit/cd234bf8bc3644323671cf0d0a28de49b6e8354a
  Author: Yusuke Suzuki <[email protected]>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    A JSTests/stress/loop-unrolling-liveness-0.js
    A JSTests/stress/loop-unrolling-liveness-1.js
    M 
Source/JavaScriptCore/SaferCPPExpectations/UncountedLambdaCapturesCheckerExpectations
    M Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp

  Log Message:
  -----------
  [JSC] Loop Unrolling should not change Branch to Jump
https://bugs.webkit.org/show_bug.cgi?id=285206
rdar://142111593

Reviewed by Justin Michaud.

Until later phase in FTL, we should not change Branch to Jump.
Otherwise, one block's successors get reduced into one block, which
confuses liveness of locals in DFG CPS graph. Instead, we preserve
the graph at this phase by using Branch(True, next, header). Later FTL
phase will convert this to Jump with appropriate liveness preservation
but we do not need to do this analysis here. We can just use this
always-true branch and keep graph.

* JSTests/stress/loop-unrolling-liveness-0.js: Added.
(f1):
* JSTests/stress/loop-unrolling-liveness-1.js: Added.
(f):
* Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp:
(JSC::DFG::LoopUnrollingPhase::run):
(JSC::DFG::LoopUnrollingPhase::populateCandidateLoops):
(JSC::DFG::LoopUnrollingPhase::unrollLoop):
(JSC::DFG::LoopUnrollingPhase::selectDeepestNestedLoop): Deleted.

Canonical link: https://commits.webkit.org/289279@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to