-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[JSC] Immutable Load should look for the CSE target in dominators #51299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JSC] Immutable Load should look for the CSE target in dominators #51299
Conversation
|
EWS run on previous version of this PR (hash 8dee5a9) |
8dee5a9 to
9ceb71a
Compare
|
EWS run on previous version of this PR (hash 9ceb71a) |
9ceb71a to
7552a9a
Compare
|
EWS run on current version of this PR (hash 7552a9a) |
hyjorc1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me
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 ... WebKit#1, WebKit#2 BB#1 @2: CCall(...) # potentially clobber everything Jump WebKit#3 BB#2 @3: CCall(...) # potentially clobber everything Jump WebKit#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
7552a9a to
62300f8
Compare
|
Committed 300562@main (62300f8): https://commits.webkit.org/300562@main Reviewed commits have been landed. Closing PR #51299 and removing active labels. |
62300f8
7552a9a