Skip to content

JIT: hoisting float var profitability mis-categorizes SIMD types #82351

@BruceForstall

Description

@BruceForstall

lvaFloatVars is set using varTypeIsFloating(), which doesn't include SIMD register types. The count of these registers is used in Compiler::optIsProfitableToHoistTree() to determine hoisting profitability of a tree, also using varTypeIsFloating(). The effect is probably that SIMD type trees are treated as using integer registers for hoisting profitability calculations.

varTypeUsesFloatReg() should probably be used instead.

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

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions