Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 62300f8db3d92f57169109706aff1adac28de77e
https://github.com/WebKit/WebKit/commit/62300f8db3d92f57169109706aff1adac28de77e
Author: Yusuke Suzuki <[email protected]>
Date: 2025-09-26 (Fri, 26 Sep 2025)
Changed paths:
M Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp
M Source/JavaScriptCore/b3/testb3.h
M Source/JavaScriptCore/b3/testb3_1.cpp
M Source/JavaScriptCore/b3/testb3_8.cpp
Log Message:
-----------
[JSC] Immutable Load should look for the CSE target in dominators
https://bugs.webkit.org/show_bug.cgi?id=299504
rdar://161294228
Reviewed by Yijia Huang.
Previous one 300327@main worked for the same basic block's load,
but it didn't work for the load in dominators. This patch updates CSE
rules to make immutable load elimination work with dominators' load.
Like,
BB#0
@0: Load(@x, immutable)
@1: CCall(...) # potentially clobber everything
Branch ... #1, #2
BB#1
@2: CCall(...) # potentially clobber everything
Jump #3
BB#2
@3: CCall(...) # potentially clobber everything
Jump #3
BB#3
@4: Load(@x, immutable)
...
Then @4 should be replaced with Identity(@0) as dominator BB#0 is having
immutable load @0 matching to @4.
Tests: Source/JavaScriptCore/b3/testb3_1.cpp
Source/JavaScriptCore/b3/testb3_8.cpp
* Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp:
* Source/JavaScriptCore/b3/testb3.h:
* Source/JavaScriptCore/b3/testb3_1.cpp:
(run):
* Source/JavaScriptCore/b3/testb3_8.cpp:
(testLoadImmutableDominated):
(testLoadImmutableNonDominated):
Canonical link: https://commits.webkit.org/300562@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