-
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
JIT: Fix generating unrepresentable nullchecks on ARM64 #71687
Conversation
The logic in lowering could in some struct and primitive type cases generate an unrepresentable NULLCHECK node for ARM64/LA64, when there was a contained address mode. We now use the width from the address mode, if this keeps the access small enough, and otherwise clear containedness. Fix dotnet#71684
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsThe logic in lowering could in some struct and primitive type cases Fix #71684
|
Avoid creating the address mode in the first place for unrepresentable accesses.
cc @dotnet/jit-contrib PTAL @EgorBo |
The logic in lowering could in some struct and primitive type cases
generate an unrepresentable NULLCHECK node for ARM64/LA64 when there
was a contained address mode. We now transform unused indirections and
create address modes in the opposite order on non-xarch to avoid these unrepresentable
nullchecks.
Fix #71684