-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
JIT: fix inliner profile consistency computation #109714
Conversation
It's possible for the JIT to inline a profiled inlinee into an unprofiled context, and then have a subsequent inline fold a profiled branch. If so we may see a case where the folded edges don't have profile information. Tolerate this.
cc @dotnet/jit-contrib There is some other libraries jitstress issue, so it still may not run cleanly. |
/azp run runtime-coreclr libraries-jitstress |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
LGTM, thanks!
There is some other libraries jitstress issue, so it still may not run cleanly.
Do you know if there's an issue already tracking this? I'm seeing quite a few tests fail with AVs.
I just opened one: #109730 |
Not sure why build analysis is unhappy here... |
I suspect it's because there aren't tracking issues for the timeouts, and opening a meta-issue to capture all timeouts isn't ideal. Edit: Ah, Build Analysis marked the timeouts as "known" infra issues. Not sure either. |
I added a fix for the AVs, so let's see if libraries jit stress is now happy. |
/azp run runtime-coreclr libraries-jitstress |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
AV fix LGTM
Jitutils build is failing, wonder if 6.0 packages are no longer findable? 6.0 is out of support now.
|
libraries-jitstress still not clean:
Opened #109745 |
handful of Diffs... not sure why yet. |
Diffs are because |
It's possible for the JIT to inline a profiled inlinee into an unprofiled context, and then have a subsequent inline fold a profiled branch. If so we may see a case where the folded edges don't have profile information.
Tolerate this.
Fixes #109657
Re-morphing of a statement during early-prop may mistakenly believe it has altered the flow graph and so invalidates DFS. Value numbering is not set up to handle this and crashes. Since this seems like a rare occurrence, have morph detect if it has really changed the flowgraph and avoid invalidating the DFS when it hasn't.
Fixes #109730