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

JIT: Don't run fgRenumberBlocks after switch recognition #108402

Merged
merged 2 commits into from
Nov 14, 2024

Conversation

amanasifkhalid
Copy link
Member

Follow-up to #108357. Since LSRA's block ordering logic no longer uses bbNums, we shouldn't need to renumber blocks beforehand -- and since block predecessor lists are sorted based on bbID, we shouldn't incur diffs during LSRA when searching for block preds that meet certain criteria.

Locally, this had small diffs due to fgUpdateFlowGraph having a bbNum check here as a proxy for detecting backward jumps. Removing this check has large diffs, though we plan to rewrite this phase as part of #107749 anyway, so I don't plan to remove this check in this PR.

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Sep 30, 2024
Copy link
Contributor

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

@amanasifkhalid amanasifkhalid changed the title JIT: Remove pre-LSRA fgRenumberBlocks calls JIT: Don't run fgRenumberBlocks after switch recognition Nov 14, 2024
@amanasifkhalid
Copy link
Member Author

@dotnet/jit-contrib PTAL. No diffs -- this is moreso for clearing out my PR backlog. Thanks!

@amanasifkhalid
Copy link
Member Author

/ba-g Build Analysis blocked by timeout

@amanasifkhalid amanasifkhalid merged commit 1e98c05 into dotnet:main Nov 14, 2024
104 of 108 checks passed
@amanasifkhalid amanasifkhalid deleted the lsra-bbnum branch November 14, 2024 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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