-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Ssa: Trim the use-use relation to skip irrelevant nodes #19044
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
5aa7029
SSA: Add support for skipping WriteDefinitions in use-use.
aschackmull 7c82f51
Java: Skip SSA definition nodes in data flow.
aschackmull c778bf6
SSA: Rename SsaInputDefinitionExt
aschackmull 669f926
SSA: Skip irrelevant phi input nodes.
aschackmull 4e2ad97
SSA: Skip phi nodes with unique successor.
aschackmull 36532bc
SSA: Skip identity steps.
aschackmull 0162b84
SSA: Fix a poor join-order and avoid SSA recomputation.
aschackmull b3bea97
C#: Accept test changes.
aschackmull f27e819
Java: Accept test changes.
aschackmull e7e5f75
Ruby: Accept test changes.
aschackmull ae47339
Rust: Accept test changes.
aschackmull 4d04391
C++: Keep all phi input back edges.
aschackmull d5d0274
Java/SSA: Keep proper distinction between cached stages.
aschackmull 8749bdb
C++: Accept test changes.
aschackmull c6cee48
SSA: Address review comments.
aschackmull File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This is restricted to certain
WriteDefinitions, right?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.
Yes and no. Flipping this switch will remove all certain writes from the use-use steps. It will also cause us to step over uncertain write nodes for the RHS-to-first-use steps, but those nodes will remain in the graph as stepping stones from prior uses. It's potentially possible to skip over uncertain writes when stepping from prior uses, but that requires some additional analysis to ensure that we only do so when it won't cause blowups, and the potential gain seemed so small that I didn't bother with that particular graph reduction.