-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8351568: Improve source code documentation for PhaseCFG::insert_anti_dependences #24926
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
Conversation
|
👋 Welcome back dlunden! A progress list of the required criteria for merging this PR into |
|
@dlunde This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be: You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 315 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Webrevs
|
galderz
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.
Thanks @dlunde for the PR. Some small comments.
test/hotspot/jtreg/compiler/loopopts/TestSplitIfPinnedLoadInStripMinedLoop.java
Show resolved
Hide resolved
robcasloz
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.
Thanks for doing this, Daniel! insert_anti_dependences is indeed easier to understand after your proposed cleanups and additional comments. I have a few questions and suggestions.
Please update also the reference to insert_anti_dependencies in src/hotspot/share/adlc/output_h.cpp.
test/hotspot/jtreg/compiler/loopopts/TestSplitIfPinnedLoadInStripMinedLoop.java
Outdated
Show resolved
Hide resolved
Thanks for the review @robcasloz!
Good catch, I only |
robcasloz
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.
Thanks for addressing my comments, looks good! I just have an (optional) suggestion (https://github.com/openjdk/jdk/pull/24926/files#r2081235028).
robcasloz
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.
Looks good (modulo the grammar glitch), thanks!
Co-authored-by: Roberto Castañeda Lozano <robcasloz@users.noreply.github.com>
chhagedorn
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.
Nice documentation! A lot of minor comments/suggestions while reading through the comments in the entire method.
chhagedorn
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.
Thanks for doing all the updates, looks good to me now!
|
Thanks for the reviews @robcasloz and @chhagedorn! Only documentation changes since the initial PR commit, and GHA is clean after aec59a1. Integrating now. /integrate |
|
Going to push as commit 5cb2317.
Your commit was automatically rebased without conflicts. |
Issue Summary
The current documentation for
PhaseCFG::insert_anti_dependencesis difficult to follow and sometimes even misleading. We should ensure the method is appropriately documented.Changeset
PhaseCFG::insert_anti_dependencestoPhaseCFG::raise_above_anti_dependences. The purpose ofPhaseCFG::raise_above_anti_dependencesis twofold: raise the load's LCA so that the load is scheduled before anti-dependent stores, and if necessary add anti-dependence edges between the load and certain anti-dependent stores (to ensure we later "raise" the load before anti-dependent stores in LCM). The namePhaseCFG::insert_anti_dependencessuggests that we only add anti-dependence edges. The namePhaseCFG::raise_above_anti_dependences, therefore, seems more appropriate.PhaseCFG::raise_above_anti_dependences.asserts inPhaseCFG::raise_above_anti_dependences, including improvedassertmessages in a few places.PhaseCFG::raise_above_anti_dependences:Phinodes whenLCA == early.Testing
tier1totier4(and additional Oracle-internal testing) on Windows x64, Linux x64, Linux aarch64, macOS x64, and macOS aarch64.Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/24926/head:pull/24926$ git checkout pull/24926Update a local copy of the PR:
$ git checkout pull/24926$ git pull https://git.openjdk.org/jdk.git pull/24926/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 24926View PR using the GUI difftool:
$ git pr show -t 24926Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/24926.diff
Using Webrev
Link to Webrev Comment