-
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: enable complementary jtrue assertions for cross-block local ap #94741
JIT: enable complementary jtrue assertions for cross-block local ap #94741
Conversation
Now that we can propagate assertions across block boundaries we can generate assertions for true/false branch conditions and propagate them along the corresponding edges. Contributes to dotnet#93246.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsNow that we can propagate assertions across block boundaries we can generate assertions for true/false branch conditions and propagate them along the corresponding edges. Contributes to #93246.
|
@jakobbotsch PTAL This doesn't have any impact unless cross-block is enabled. When it is I see this sort of impact It's possible that enabling "if true" copy prop based on and a small TP hit ts. |
src/coreclr/jit/morph.cpp
Outdated
if (pred->KindIs(BBJ_COND) && (pred->NumSucc() == 2) && (block == pred->GetJumpDest())) | ||
{ | ||
JITDUMP("Using `if true` assertions from pred " FMT_BB "\n", pred->bbNum); | ||
assertionsOut = pred->bbAssertionGen; |
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.
Consider adding new members to the unions to give these sets more proper names.
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.
LGTM, a minor note about naming.
Now that we can propagate assertions across block boundaries we can generate assertions for true/false branch conditions and propagate them along the corresponding edges.
Contributes to #93246.