Skip to content

JIT: Reevaluate args sorting #75751

@jakobbotsch

Description

@jakobbotsch

It is not clear that the args sorting the JIT does today is super beneficial. The idea is to evaluate expensive args early when more registers are available, but when I have tried to disable the logic entirely, I have seen positive diffs on x64.

Furthermore, we should reevaluate the order late args are placed in registers. We frequently hit cases where we place an argument into a register that contained a local that a subsequent arg needs to use. When this happens LSRA needs to spill, and since LSRA does not support spilling to registers, this becomes very expensive.

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

Metadata

Metadata

Assignees

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