Function cretonne_codegen::verifier::verify_liveness[][src]

pub fn verify_liveness(
    isa: &TargetIsa,
    func: &Function,
    cfg: &ControlFlowGraph,
    liveness: &Liveness
) -> VerifierResult<()>

Verify liveness information for func.

The provided control flow graph is assumed to be sound.

  • All values in the program must have a live range.
  • The live range def point must match where the value is defined.
  • The live range must reach all uses.
  • When a live range is live-in to an EBB, it must be live at all the predecessors.
  • The live range affinity must be compatible with encoding constraints.

We don't verify that live ranges are minimal. This would require recomputing live ranges for all values.