Removing IsSIMDVectorAssembly and obsoleting isInSIMDModule#27467
Removing IsSIMDVectorAssembly and obsoleting isInSIMDModule#27467jkotas merged 7 commits intodotnet:masterfrom tannergooding:vector-to-corelib
Conversation
|
CC. @jkotas, @CarolEidt |
| bool isSIMDClass(CORINFO_CLASS_HANDLE clsHnd) | ||
| { | ||
| return info.compCompHnd->isInSIMDModule(clsHnd); | ||
| if (isIntrinsicType(clsHnd)) |
There was a problem hiding this comment.
It is unfortunate that isIntrinsicType calls getClassAttribs. getClassAttribs does a lot more. Would it make sense to rename isInSIMDModule on JIT/EE interface to isIntrinsicType ?
There was a problem hiding this comment.
I'd be fine with doing so, I'll update after I get back home tonight :)
There was a problem hiding this comment.
Done. I think this makes the overall logic quite a bit simpler. We were already caching isIntrinsicType in the VM, so this reduces the cost of checking elsewhere.
|
Renamed |
| Packet_IsDelegateCreationAllowed = 155, | ||
| Packet_IsFieldStatic = 137, // Added 4/9/2013 - needed for 4.5.1 | ||
| Packet_IsInSIMDModule = 148, // Added 6/18/2014 - SIMD support | ||
| Packet_IsIntrinsicType = 148, // Added 10/26/2019 - SIMD support |
There was a problem hiding this comment.
Does the value tied to the packet name need to differ?
|
|
||
| bool isIntrinsicType(CORINFO_CLASS_HANDLE clsHnd) | ||
| { | ||
| return (info.compCompHnd->getClassAttribs(clsHnd) & CORINFO_FLG_INTRINSIC_TYPE) != 0; |
There was a problem hiding this comment.
I grepped for other usages of CORINFO_FLG_INTRINSIC_TYPE and confirmed this was the only usage in the compiler.
|
Updated crossgen2, which also defines |
|
Nice cleanup - thanks @tannergooding ! |
This resolves https://github.com/dotnet/coreclr/issues/27402.
Now that all of the types from
System.Numerics.Vectors.dllhave been moved down to corelib, we can remove the logic that was supporting the SIMD intrinsic types in other assemblies.