Skip to content

[RyuJIT] Lowering is inconsistent in checking safety of RegOptional #8387

Description

@CarolEidt

In a number of places, Lowering checks IsSafeToContainMem() before setting an operand as contained, then if it fails to make it contained it marks it as regOptional. However, if it is unsafe for the node to be contained, it is presumably also unsafe to mark it regOptional, as it will be loaded at the point of use in the event that it doesn't get a register.

category:correctness
theme:lower
skill-level:expert
cost:small

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIbug

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions