Conversation
…otnet-optimization build 20230420.15 optimization.linux-arm64.MIBC.Runtime , optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-arm64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR From Version 1.0.0-prerelease.23175.4 -> To Version 1.0.0-prerelease.23220.15
This reverts commit ab43da4.
This reverts commit ef9e53b.
This reverts commit 0342acc.
|
Just to confirm I understand the rules for I'm asking about |
|
That matches my read of the rules, since they mention R2R code checks for |
|
@sbomer I believe this looks good for now. I'm working on a more permanent fix, that will likely result in changes to all of these places to a slightly different form, but getting a fix in before the snap would be better. @MihaZupan The "rules" indicate that the ShuffleUnsafe method has a problem, but as @sbomer notes, there are also some implementation choices in the current default behavior of Crossgen2 which make the ShuffleUnsafe method reliably functional. |
davidwrighton
left a comment
There was a problem hiding this comment.
Looks good for now. I'm working on an analyzer we can turn on all the time, and some crossgen2 tweaks to make it easier to write these things. As it is the BypassReadyToRun changes will pessimize some of the work done for the ASP.NET composite container scenario, but I prioritize working over not working. @dotnet/crossgen-contrib
|
Wasm failures look unrelated. I filed #85354 for these. |
|
Is something like this also problematic? Could we end up calling into |
|
@MihaZupan, technically ... yes, except you'd have to pass a very surprising set of switches to crossgen2, which nobody is likely to do. I've a followon fix (#85481) which should make this very hard to mess up, and will protect against that kind of case. |
Unblocks dotnet-optimization flow and #84711. Includes a dotnet-optimization update to confirm this it avoids the issue discussed in #84635. This fixes that issue by preventing R2R for any Avx2 helpers which assume they are called with Avx2 enabled.
@davidwrighton taking a shot at fixing this by skipping R2R for the instances that I was able to find
by inspection[edit: using the platform analyzer with some tweaks].Just a draft for now since I'm not sure if this is the approach we want to take - I just wanted to see what happens in ci.