Uh oh!
There was an error while loading. Please reload this page.
JIT: enable edge checks throughout - #99628
Conversation
Fix the last remaining issues for edge likelihoods. Main challenge here was switch lowering, particularly the expansions of switches into a series of tests. The adjustments here are similar to those for multi-guess GDV and type tests -- as we test possibilities one-by-one we have to adjust and scale up likelihoods of remining possibilities. But for switches things are more complex as edges may have dup counts, and we may eventually reach the point where the remaining tests had zero initial likelihood. Contributes to dotnet#93020.
AndyAyersMS
commented
Mar 12, 2024
@amanasifkhalid PTAL At long last, edge has likelihood and likelihood sum checks are enabled throughout. Some diffs expected as the new block weights for switch expansions impact LSRA ordering. |
amanasifkhalid
left a comment
There was a problem hiding this comment.
LGTM, just a few small nits. Also, I've run into JitStress issues with some of the switch lowering paths during previous flowgraph refactors, so it might be a good idea to run some of the outerloop pipelines on this.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
AndyAyersMS
commented
Mar 12, 2024
Looks like I don't even need to go to outerloop... issues on arm to sort out. |
AndyAyersMS
commented
Mar 13, 2024
There is a complication with dup edges, not sure how to fix just yet. We have a switch So cases 0 and 2 are dup'd to BB04. We split BB02 into BB02->def, and new BB115 for the switch. We expand the switch as series of tests; case 0 decides it can reuse BB115. We add ref BB115->BB04, this does not create a new edge but shares the existing one; later this messes up likelihood because we assume that the BB115->BB04 edge is new and not shared. |
AndyAyersMS
commented
Mar 13, 2024
Likely we should modify |
amanasifkhalid
left a comment
There was a problem hiding this comment.
LGTM if CI passes -- thanks!
AndyAyersMS
commented
Mar 13, 2024
/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress |
|
Azure Pipelines successfully started running 2 pipeline(s). |
AndyAyersMS
commented
Mar 14, 2024
One libraries jitstress failure to sort out. |
AndyAyersMS
commented
Mar 14, 2024
#99740 should have fixed the libraries stress issue. Going to merge up and retest. |
AndyAyersMS
commented
Mar 14, 2024
/azp run runtime-coreclr jitstress, runtime-coreclr libraries-jitstress |
|
Azure Pipelines successfully started running 2 pipeline(s). |
AndyAyersMS
commented
Mar 14, 2024
AndyAyersMS
commented
Mar 14, 2024
Runtime failures are known to build analysis (not sure why the didn't get linked here). |
Fix the last remaining issues for edge likelihoods.
Main challenge here was switch lowering, particularly the expansions of switches into a series of tests. The adjustments here are similar to those for multi-guess GDV and type tests -- as we test possibilities one-by-one we have to adjust and scale up likelihoods of remining possibilities. But for switches things are more complex as edges may have dup counts, and we may eventually reach the point where the remaining tests had zero initial likelihood.
Contributes to #93020.