-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Delete gtGetStructHandle
and friends
#84212
Delete gtGetStructHandle
and friends
#84212
Conversation
Replaced with GenTree::GetLayout.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsAll of this infrastructure has been made obsolete by the recent changes to support block-typed locals. Includes the deletion of
|
e0fce7f
to
66d57c3
Compare
No longer needed.
66d57c3
to
c47f0fd
Compare
structHnd = lclVarInfo[argNum].lclVerTypeInfo.GetClassHandleForValueClass(); | ||
assert(structHnd != NO_CLASS_HANDLE); |
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 reason for the few diffs: previously, the struct handle could be "refined" to a type more specific than f(__Canon)
, which affects VN-based copy propagation.
The diffs could be fixed (i. e. made to not exist), but only with quirks, which I did not find worth it due to the already-not-small size of this change.
@dotnet/jit-contrib |
CORINFO_CLASS_HANDLE PlaneHandle; | ||
CORINFO_CLASS_HANDLE QuaternionHandle; | ||
CORINFO_CLASS_HANDLE Vector2Handle; | ||
CORINFO_CLASS_HANDLE Vector3Handle; | ||
CORINFO_CLASS_HANDLE Vector4Handle; | ||
CORINFO_CLASS_HANDLE VectorHandle; |
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.
Why do these ones need to stay?
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.
Is it just for isOpaqueSIMDType
? Is there a plan to also remove that somehow?
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.
Is it just for
isOpaqueSIMDType
?
Yep. No explicit plans for its removal currently, though one could certainly imagine rewriting it to not need the cached handles (e. g. a new getClassAttribs
flag, or matching by name).
@SingleAccretion can you fix up the merge conflicts? |
…Handle-Upstream
Conflicts have been fixed. |
Linux arm64 failure looks like an instance of #82771 or similar, hard to be sure without artifacts. I thkink the SPMI failures are also known issues -- @kunalspathak FYI
|
#84536 Is the Arm64 SPMI failure |
Thanks. Going to merge this. |
@SingleAccretion thank you. |
All of this infrastructure has been made obsolete by the recent changes to support block-typed and SIMD locals without handles.
Includes the deletion of
IsSimdAsHWIntrinsic
logic.Diffs - see below for the explanation.