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: Track visited blocks in LSRA with post-order number-based BitVec #108932

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

amanasifkhalid
Copy link
Member

Since LSRA's block order computes a RPO traversal, we conveniently have post-order numbers on reachable blocks that can be used as keys in visited sets, and computing post-order numbers for unreached blocks is trivial. By using bbPostorderNum as the key instead of bbNum, we're one step closer to removing bbNum and BasicBlockEpoch.

cc @dotnet/jit-contrib

@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 Oct 16, 2024
Copy link
Contributor

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

@amanasifkhalid
Copy link
Member Author

amanasifkhalid commented Oct 16, 2024

@jakobbotsch PTAL (once you're no longer OOF). No diffs, and slight TP regressions from the extra book-keeping needed to get this to work. I assume the removal of subsequent bbNum dependencies will easily pay for the TP cost. Thanks!

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.

1 participant