Function cranelift_codegen::verifier::verify_locations[][src]

pub fn verify_locations(
    isa: &TargetIsa,
    func: &Function,
    liveness: Option<&Liveness>
) -> VerifierResult<()>

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.