-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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: Enable downwards optimization for multi-exit loops #103181
JIT: Enable downwards optimization for multi-exit loops #103181
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
TP regressions are primarily from building the dominator tree:
I think we are going to need the dominator tree for strength reduction as well, so I don't see a good reason to try to avoid building it in this PR. |
cc @dotnet/jit-contrib PTAL @AndyAyersMS Diffs. TP impact primarily because of computing the dominator tree; I think I'm going to need it for strength reduction as well, so don't see a good reason to try avoid computing it. Cost should be a (tiny) bit less now that #103803 is merged. |
As long as an exiting block dominates all backedges it should be ok to consider it to be converted to a downwards test, provided that the normal heuristics pass (i.e. it should be on a primary IV that is unused in other places in the loop).
Previously we required there to be only one exiting block.