-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Open
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
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 SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI