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