Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Cleanup Lowering::TryCreateAddrMode#27284

Merged
sandreenko merged 3 commits into
dotnet:masterfrom
mikedn:blk-cleanup-all
Oct 21, 2019
Merged

Cleanup Lowering::TryCreateAddrMode#27284
sandreenko merged 3 commits into
dotnet:masterfrom
mikedn:blk-cleanup-all

Conversation

@mikedn
Copy link
Copy Markdown

@mikedn mikedn commented Oct 18, 2019

Extracted from #21711

This moves the address mode creation for block ops to LowerBlockStore and also simplifies things a bit by not requiring a LIR use to be provided and instead changing the existing ADD node to LEA.

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)

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.
@sandreenko sandreenko requested a review from a team October 18, 2019 17:59
Copy link
Copy Markdown

@CarolEidt CarolEidt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice cleanup!

Copy link
Copy Markdown

@sandreenko sandreenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sandreenko sandreenko merged commit a3a1c4d into dotnet:master Oct 21, 2019
@mikedn mikedn deleted the blk-cleanup-all branch October 21, 2019 07:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants