Skip to content
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

Avoid generating degenerate flow during redundant branch optimization #48609

Closed
kunalspathak opened this issue Feb 22, 2021 · 2 comments · Fixed by #99509
Closed

Avoid generating degenerate flow during redundant branch optimization #48609

kunalspathak opened this issue Feb 22, 2021 · 2 comments · Fixed by #99509
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI in-pr There is an active PR which will close this issue when it is merged
Milestone

Comments

@kunalspathak
Copy link
Member

kunalspathak commented Feb 22, 2021

Today, we might end up generating degenerate flow during redundant branch optimization. We need to make sure that we don't do that and add an assertion check to make sure that we never have flDupCount > 1 unless it is a switch statement.

We saw #47101 issue because of this and it was fixed in #48607 by making sure assertion prop handles it. But eventually "redundant branch optimization" should not create such flow.

category:cq
theme:flowgraph

@dotnet-issue-labeler dotnet-issue-labeler bot added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI untriaged New issue has not been triaged by the area owner labels Feb 22, 2021
@kunalspathak
Copy link
Member Author

@dotnet/jit-contrib , @AndyAyersMS

@JulieLeeMSFT JulieLeeMSFT removed the untriaged New issue has not been triaged by the area owner label Feb 25, 2021
@JulieLeeMSFT JulieLeeMSFT added this to the 6.0.0 milestone Feb 25, 2021
@JulieLeeMSFT JulieLeeMSFT linked a pull request Feb 25, 2021 that will close this issue
@kunalspathak
Copy link
Member Author

Not urgent for .NET 6.

@kunalspathak kunalspathak modified the milestones: 6.0.0, Future Jul 7, 2021
AndyAyersMS added a commit to AndyAyersMS/runtime that referenced this issue Mar 11, 2024
Detect if the update has created degenerate BBJ_COND flow, and simplify.
Also symmetrize the true/false cases.

Fixes dotnet#48609.

Also fixes some issues seen in enhanced likelhood checking.
@dotnet-policy-service dotnet-policy-service bot added the in-pr There is an active PR which will close this issue when it is merged label Mar 11, 2024
AndyAyersMS added a commit to AndyAyersMS/runtime that referenced this issue Mar 11, 2024
Detect if the update has created degenerate BBJ_COND flow, and simplify.
Also symmetrize the true/false cases.

Fixes dotnet#48609.

Also fixes some issues seen in enhanced likelhood checking.
AndyAyersMS added a commit that referenced this issue Mar 11, 2024
Detect if the update has created degenerate BBJ_COND flow, and simplify.

Fixes #48609.

Also fixes some issues seen in enhanced likelihood checking.
@github-actions github-actions bot locked and limited conversation to collaborators Apr 12, 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 in-pr There is an active PR which will close this issue when it is merged
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants