Skip to content

Investigate the heuristics for creating DummyDef in LSRA #71539

@kunalspathak

Description

@kunalspathak

Today, if there is a CSE candidate has definition in the middle of deeply nested loop, we end up adding DummyDef refpositions in blocks that doesn't have its uses and that leads to spilling/reloading such variables without need. This happens because of the way we choose the predecessor of such blocks and we should revisit to see if we can also accommodate the variable location where it is defined instead of just checking the block's flow. Relevant discussion in #70271 (comment)

category:design
theme:register-allocator
skill-level:expert
cost:small
impact:medium

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions