[RyuJIT][CQ] LSRA: Investigate separating cross-block lclVars from intra-block lclVars #7992
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
enhancement
Product code improvement that does NOT require public API changes/additions
JitThroughput
CLR JIT issues regarding speed of JIT itself
tenet-performance
Performance related issue
Milestone
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
The text was updated successfully, but these errors were encountered: