-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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: Remove BBJ_RETURN
loop cloning quirk
#96555
Conversation
With the new loop representation there will never be any `BBJ_RETURN` blocks in loops we are cloning -- add an assert for this. Then remove the quirk that avoids cloning loops when the old loop cloning would create too many `BBJ_RETURN` blocks. Large size wise regressions are expected due to new cloning.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsWith the new loop representation there will never be any Large size wise regressions are expected due to new cloning.
|
cc @dotnet/jit-contrib PTAL @BruceForstall Large size regressions. Looks like this check was preventing some loop cloning in The check is based on Considering loop L00 to clone for optimizations.
Loop cloning: rejecting loop L00. It has 0 returns; if added to previously existing -4 returns, it would exceed the limit of 4. In the diff we no longer reject it. Naturally these changes are going to allow more loop cloning, and without profitability heuristics that's going to result in size/TP regressions. I think it means we should prioritize adding profitability heuristics as part of .NET 9. Luckily #8558 is already in 9.0 and tracks that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
With the new loop representation there will never be any
BBJ_RETURN
blocks in loops we are cloning -- add an assert for this. Then remove the quirk that avoids cloning loops when the old loop cloning would create too manyBBJ_RETURN
blocks.Large size wise regressions are expected due to new cloning.