Skip to content

Conversation

@amanasifkhalid
Copy link
Contributor

Part of #93020. When setting the successor edge of a block with one successor, the edge likelihood should always be 1.0. We can enforce this in BasicBlock methods that set bbTargetEdge, and simplify their call sites.

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Mar 5, 2024
@ghost ghost assigned amanasifkhalid Mar 5, 2024
@ghost
Copy link

ghost commented Mar 5, 2024

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

Part of #93020. When setting the successor edge of a block with one successor, the edge likelihood should always be 1.0. We can enforce this in BasicBlock methods that set bbTargetEdge, and simplify their call sites.

Author: amanasifkhalid
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@amanasifkhalid
Copy link
Contributor Author

cc @dotnet/jit-contrib, @AndyAyersMS PTAL. No diffs, though there is a large MinOpts TP regression in coreclr_tests on Linux x64. I imagine this is from us setting unconditional edges' likelihoods in a phase we previously didn't, and some subset of tests that stress this phase/pattern are now regressed, TP-wise. If you'd like, I can dig into this locally and identify the culprits.

Copy link
Member

@AndyAyersMS AndyAyersMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the TP regression is just on linux hosts it's probably some compiler weirdness... hopefully it goes away with PGO.

@amanasifkhalid amanasifkhalid merged commit 4619c6c into dotnet:main Mar 5, 2024
@amanasifkhalid amanasifkhalid deleted the auto-edge-likelihood branch March 5, 2024 16:04
@github-actions github-actions bot locked and limited conversation to collaborators Apr 7, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants