-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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.