This repository was archived by the owner on Jan 23, 2023. It is now read-only.
Cleanup Lowering::TryCreateAddrMode#27284
Merged
Merged
Conversation
This has no effect on ARM so it doesn't need to be shared between XARCH and ARM
GenTreeAddrMode was unnecessarily marked as "large". Appart from the waste of memory this casues, it also makes address mode creation more complicated because one needs to provide the use of the node so it can be updated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Extracted from #21711
This moves the address mode creation for block ops to
LowerBlockStoreand also simplifies things a bit by not requiring a LIR use to be provided and instead changing the existingADDnode toLEA.PIN shows a 0.1% improvement: https://1drv.ms/x/s!Av4baJYSo5pjgtFwJJndsICF63e07g?e=FqpXsb
Memory usage shows a 0.6% improvement: https://gist.github.com/mikedn/cb7a8d8e8a9f93a96c0baeb21a591151
There's only one diff that has been previously described here: #27035 (comment)