-
Notifications
You must be signed in to change notification settings - Fork 206
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
Fix hanging in JIT for ARM64 release compilation #1035
Fix hanging in JIT for ARM64 release compilation #1035
Conversation
|
Yes, this is just an oversight and I missed that it needed to also be updated. |
Noting that They were excluded since we have no APIs that support them today and adding that support requires API review. |
Would you mind sending PR to dotnet/runtime with the fix? |
Note that runtimelab/src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Lines 2272 to 2280 in fda312f
I doubt we should extend |
Also note that the property in question is expected to mimic this one that does not accept runtimelab/src/coreclr/vm/jitinterface.cpp Line 4338 in fda312f
|
This sounds like is its own problem. On x64, two structs that only differ based on their usage of If the only limiter here is that We will eventually have to do the same for |
The relevant checks in https://github.com/dotnet/runtime/blob/main/src/coreclr/jit/simd.cpp#L607 and in the importer itself should be correctly blocking So this should really only come down to how |
That should be fine; I guess that would require adding code to recognize those types in
Right now they will not recognize |
Closing in favor of dotnet/runtime#52016. |
dotnet/runtime#50832 added support for
Vector<nint>
andVector<nuint>
, which caused release builds of JIT to hang while compilingVector<nuint>
methods. Debug builds of JIT would fail the following assertion inCompiler::raUpdateRegStateForArg
:runtimelab/src/coreclr/jit/regalloc.cpp
Line 180 in fda312f
VectorOfTFieldLayoutAlgorithm.ComputeValueTypeShapeCharacteristics
to includeIntPtr
andUIntPtr
element types.The introduced
IsSupportedElementType
method may be temporary. When Runtime repo adds support fornint
andnuint
element types forVector64<T>
,Vector128<T>
, andVector256<T>
types, they would have to extend similarly theTypeDesc.IsPrimitiveNumeric
check here:runtimelab/src/coreclr/tools/Common/Compiler/VectorFieldLayoutAlgorithm.cs
Lines 95 to 96 in fda312f
If they update/rename the
TypeDesc.IsPrimitiveNumeric
property, we will use the updated property in this class as well.