Function cretonne::verifier::verify_liveness
[−]
[src]
pub fn verify_liveness(
isa: &TargetIsa,
func: &Function,
cfg: &ControlFlowGraph,
liveness: &Liveness
) -> Result
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.