-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Improve the redundant branch optimization to handle more side effects #68447
Improve the redundant branch optimization to handle more side effects #68447
Conversation
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsTesting CI.
|
aa76fc2
to
41d240c
Compare
@dotnet/jit-contrib |
/azp run Antigen, Fuzzlyn |
Azure Pipelines successfully started running 2 pipeline(s). |
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.
Changes look good. Thanks!
I suspect the Fuzzlyn failures are all unrelated. Didn't look through the Antigen ones.
@@ -258,34 +262,41 @@ bool Compiler::optRedundantBranch(BasicBlock* const block) | |||
return false; | |||
} | |||
|
|||
// Bail out if tree is has certain side effects | |||
// Be conservative if there is an exception effect and we're in an EH region |
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.
Note to self: not sure why we don't check this condition earlier. No point in searching for dominating compares if we're just going to bail out here like this.
Antigen failures are also unrelated. |
@jakobbotsch can you look these over just to be sure? |
|
All Fuzzlyn/Antigen issues are known. |
@SingleAccretion, thanks again! |
The redundant branches optimization was only handling exact-exception-sets matches, but we can do better by:
This change does just that, producing some nice diffs.