pub fn verify_locations(
    isa: &dyn TargetIsa,
    func: &Function,
    liveness: Option<&Liveness>,
    errors: &mut VerifierErrors
) -> VerifierStepResult<()>
Expand description

Verify value locations for func.

After register allocation, every value must be assigned to a location - either a register or a stack slot. These locations must be compatible with the constraints described by the instruction encoding recipes.

Values can be temporarily diverted to a different location by using the regmove, regspill, and regfill instructions, but only inside an EBB.

If a liveness analysis is provided, it is used to verify that there are no active register diversions across control flow edges.