Skip to content
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

Complete support for containment of memory operands under casts #74490

Open
SingleAccretion opened this issue Aug 24, 2022 · 1 comment
Open
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@SingleAccretion
Copy link
Contributor

SingleAccretion commented Aug 24, 2022

#72719 added basic support for containment of memory operands under casts. We can and should extend it.

  1. Contain indirections with complex addressing modes on ARM/ARM64. The complicating factor is that the rules for when a certain addressing mode can be contained are quite complex on these architectures, and cast containment can effectively alter the load width. We should factor the code such that deciding when the containment is still possible and profitable is easy.
  2. Enable containment for LA64 and abstract the legality check in lowering.

category:implementation
theme:memory-usage

@SingleAccretion SingleAccretion added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Aug 24, 2022
@SingleAccretion SingleAccretion added this to the 8.0.0 milestone Aug 24, 2022
@SingleAccretion SingleAccretion self-assigned this Aug 24, 2022
@ghost
Copy link

ghost commented Aug 24, 2022

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

#72719 added basic support for containment of memory operands under casts. We can and should extend it.

  1. Contain indirections with complex addressing modes on ARM/ARM64. The complicating factor is that the rules for when a certain addressing mode can be contained are quite complex on these architectures, and cast containment can effectively alter the load width. We should factor the code such that deciding when the containment is still possible and profitable is easy.
  2. Enable containment for LA64 and abstract the legality check in lowering.
Author: SingleAccretion
Assignees: SingleAccretion
Labels:

area-CodeGen-coreclr

Milestone: 8.0.0

@SingleAccretion SingleAccretion changed the title Cast containment enhancements Complete support for containment of memory operands under casts Aug 24, 2022
@SingleAccretion SingleAccretion modified the milestones: 8.0.0, Future Mar 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

No branches or pull requests

1 participant