-
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
Enable StructEnreg by default on all platforms. #55558
Conversation
/azp run runtime-coreclr jitstress, runtime-coreclr outerloop, runtime-coreclr jitstressregs |
Azure Pipelines successfully started running 3 pipeline(s). |
28f1263
to
6dca9db
Compare
/azp run runtime-coreclr jitstress, runtime-coreclr outerloop, runtime-coreclr jitstressregs |
Azure Pipelines successfully started running 3 pipeline(s). |
/azp run runtime-coreclr jitstress2-jitstressregs |
Azure Pipelines successfully started running 1 pipeline(s). |
fix arm32 Fix arm/arm64. now we can have contained lclRead for other platforms, not only xarch.
95881d5
to
40786c5
Compare
/azp run runtime-coreclr jitstress2-jitstressregs, runtime-coreclr jitstress, runtime-coreclr outerloop, runtime-coreclr jitstressregs |
Azure Pipelines successfully started running 4 pipeline(s). |
PTAL @dotnet/jit-contrib |
Does this fix ARM64 issue #35071? |
src/coreclr/jit/lclvars.cpp
Outdated
lvaSetVarDoNotEnregister(lclNum DEBUGARG(DNER_IsStructArg)); | ||
} | ||
} | ||
else if (varDsc->lvType == TYP_STRUCT) |
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.
This is the same condition as before; this block appears to be dead code.
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 like a merge issue and that is why I am seeing some failures in CI, will fix it soon.
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.
fixed, thank you.
/azp run runtime-coreclr jitstress2-jitstressregs, runtime-coreclr jitstress, runtime-coreclr outerloop, runtime-coreclr jitstressregs |
Azure Pipelines successfully started running 4 pipeline(s). |
The UI here does not show the test result (yeah, ci) but:
so the tests are passing, I will keep an eye on library stress tests but we have time to fix bugs if anything pops up! Thank Bruce again for the quick review. |
Diffs are positive and looks similar to x64 diffs merged in #55045 and x86 merged in #55535.
The regressions are the same:
The fixes that are included in this PR:
genBitCast
on arm64/arm32 was not working correctly with regOptional lclVars, did not repro without additional stress pressure, the bug was that if a local was not assigned a register and we had a bitcast on top of it we were marking it as contained and were trying to load directly but for locals the direct load happens ingenConsumeRegs
that has already happened there and it was skipped because the local was contained;v8
we have to do bookkeeping for the upper part around each call etc.the problem with these fixes was that they all were silent bad codegen, I have covered the 3 with new asserts but others are too low in the pipeline to be checked.
Contributes to #43867 and probably closes the scope for 6.0.