-
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: Run optRedundantBranches twice and try to compute more accurate doms #70907
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsCloses #70480 void Test(object o)
{
if (o is int n)
Console.WriteLine(n);
} Asm diff for ^: https://www.diffchecker.com/8j7VGRuz
|
PTAL @AndyAyersMS @dotnet/jit-contrib
for |
/azp run runtime-coreclr outerloop, 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.
I like the idea, but it seems kind of costly.
Antigen has better coverage for loops than Fuzzlyn, so you may also want to consider running that (although I do see Fuzzlyn found something). |
/azp run fuzzlyn, antigen |
Azure Pipelines successfully started running 2 pipeline(s). |
Are the fuzzlyn/antigen failures real? |
Yes, I plan to address them tomorrow |
/azp run fuzzlyn, antigen |
Azure Pipelines successfully started running 2 pipeline(s). |
@AndyAyersMS PTAL, throughput regression is lowered from 1% to 0.01-0.1%, diff is slightly smaller but the pattern in question is handled. I plan a few more experiments here in future Antigen/Fuzzlyn failures are unrelated |
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.
Happy that you found a very surgical way to check what might be affected.
Co-authored-by: Andy Ayers <andya@microsoft.com>
…nto run-branch-opts-twice
Closes #70480
Asm diff for ^: https://www.diffchecker.com/8j7VGRuz
BB04 and BB07 are unreachable, because of "dead" BB04, BB06 reports BB01 as a dominator instead of BB02
Some nice spmi diffs