Skip to content

[RyuJIT][CQ] LSRA: Investigate separating cross-block lclVars from intra-block lclVars #7992

@CarolEidt

Description

@CarolEidt

Much of LSRA work involves dealing with sets of vars that are live at block boundaries.
We could improve efficiency by ensuring that those sets are dense, and using a smaller set.
We would only need a larger set for the liveness set that's used during traversals.
This could be beneficial if 1) there are a large number of vars that are only live within a single block, and 2) the cost of the extra sorting and updating of the "current" copy of live vars doesn't adversely impact throughput.
Also, it may be possible to reuse tracked numbers for different basic blocks, to keep the sets small. The Intervals could still be different for the different lclNums with the same BB-local tracked var number.
category:throughput
theme:register-allocator
skill-level:expert
cost:large

Metadata

Metadata

Assignees

No one assigned

    Labels

    JitThroughputCLR JIT issues regarding speed of JIT itselfarea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionstenet-performancePerformance related issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions