-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Assertion failed 'fieldCorType == CORINFO_TYPE_VALUECLASS' during 'Optimize Valnum CSEs' #38541
Comments
|
@dotnet/jit-contrib |
This assert was added with #33225 |
Fix is to remove the assert and allow a nullptr to be returned for the structHnd. line 3521 of optcse.cpp:
|
That is interesting, I agree with your analysis, except that we had that assert before the change, the PR just moved it down a bit. However, it is possible to repro it with a primitive without crossgen:
but it led me to a bigger problem: we lose struct size on stress repro
will produce IR (with aggressive CSE):
that is not correct, we are reading 5/6 bytes from a 4 bytes CSE copy. |
I believe that this is because |
NGenDump leading to the assert: ngendump.txt
Compile the below with:
csc /noconfig /nostdlib cse.cs /r:System.Private.CoreLib.dll /O /unsafe /target:library
crossgen cse.dll
The text was updated successfully, but these errors were encountered: