Skip to content

LSRA: Heuristics for callee saved reg allocation.  #6824

@sivarv

Description

@sivarv

LSRA allocates callee saved register to the first var (preferenced to a callee saved reg) that is encountered in linear order. Later when a more deserving var is found needing a callee saved register LSRA won't take it back from a less deserving candidate.

Put another way, improve heuristic to decided when LSRA should not allocate at all to a var preferenced to a callee saved reg.

Specifically LSRA is conservative with fp vars.

Example benchmarks:
SciMark FFT
Huffman
MemoryPoolIterator:CopyFrom()

category:cq
theme:register-allocator
skill-level:expert
cost:medium

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIenhancementProduct code improvement that does NOT require public API changes/additionsoptimizationtenet-performancePerformance related issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions