-
Notifications
You must be signed in to change notification settings - Fork 5k
JIT: Check for profile consistency throughout JIT backend #111684
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
amanasifkhalid
merged 42 commits into
dotnet:main
from
amanasifkhalid:profile-checks-everywhere
Jan 30, 2025
+93
−35
Merged
Changes from all commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
32e7735
Use block weight helpers in more places
amanasifkhalid 57b7705
Move profile checks to after morph
amanasifkhalid 3f5f514
Move profile checks to after post-morph
amanasifkhalid 3e89cef
Add metrics
amanasifkhalid c9272ba
Remove whitespace change
amanasifkhalid b73271c
Move profile checks to after loop inversion
amanasifkhalid 174e1bf
Move profile checks to after flow opts
amanasifkhalid 22634d9
Move profile checks to after loop recognition
amanasifkhalid 7510444
Merge branch 'main' into profile-checks-loop-finding
amanasifkhalid 5dbbb8f
Re-enable profile consistency checks
amanasifkhalid 6462e26
Fix inconsistency in loop finding, block weight phases
amanasifkhalid 68cc25a
Move profile checks to after loop opts
amanasifkhalid 2c9afb4
Move profile checks up to late flow opts
amanasifkhalid 83fb829
Move profile checks up to rationalization
amanasifkhalid a253111
Merge from main
amanasifkhalid 69f18cd
Fix bool opts profile prop
amanasifkhalid 9a577af
Another bool opt fix
amanasifkhalid 690867f
Fix helper expansion
amanasifkhalid 29f86b8
Merge branch 'main' into profile-checks-lowering
amanasifkhalid 0ba5519
New BB helper for computing incoming weight
amanasifkhalid 6e479bd
Use helper in a few places
amanasifkhalid 12bdafe
Merge branch 'main' into profile-checks-lowering
amanasifkhalid da9ee51
Style
amanasifkhalid 5accebe
Always check for profile consistency
amanasifkhalid 56f19da
Actually check profile in backend
amanasifkhalid d65ba58
Maintain profile through switch lowering
amanasifkhalid 32b9e6f
Maintain profile for jump sequence creation
amanasifkhalid 347301d
Merge branch 'main' into profile-checks-everywhere
amanasifkhalid 3ea587a
Fix optSetBlockWeights
amanasifkhalid bd07e75
Merge branch 'main' into fix-profile-consistency-jitstress
amanasifkhalid 2f4a9ba
Fix handler region prolog creation
amanasifkhalid a41e119
Merge branch 'fix-profile-consistency-jitstress' into profile-checks-…
amanasifkhalid 91f33d2
Fix cast expansion
amanasifkhalid 00ff00e
Merge from main
amanasifkhalid 21b59e6
Fix bad merge
amanasifkhalid 86e3d05
Maintain profile through VN-based intrinsic expansion
amanasifkhalid 6995e2e
Dump flowgraph on assertion failure
amanasifkhalid 7d35d83
Merge branch 'main' into profile-checks-everywhere
amanasifkhalid 082e072
Fix missing profile flag in expansion phases
amanasifkhalid 6a1d84c
Set BBF_PROF_WEIGHT flag for filter blocks
amanasifkhalid 3f886d0
Check for profile inconsistency in loop inversion
amanasifkhalid 65ab853
Remove debug print
amanasifkhalid 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
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
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
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
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
Oops, something went wrong.
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.
It looks a bit silly, but unlike
bbSetRunRarely
,inheritWeightPercentage
propagates theBBF_PROF_WEIGHT
flag from the block its deriving weight from. ChangingbbSetRunRarely
to propagate the flag would likely incur large diffs in the non-PGO case.