Expand description
Def-use computation for the backward path visitor.
These types and helpers track which MIR places are relevant to a safety
property and compute definitions/uses from MIR terminators.
This is the data layer that slicing drives block-by-block along a
finite verification path; keeping it separate lets the core visit logic stay
focused on path-level decisions (calls, SCC exits, path conditions).
Structs§
- DefUse
- Definitions and uses collected from one MIR item.
- Place
Key - Projection-insensitive enough place key for relevance tracking.
- Relevant
Places - Set of places that make MIR items relevant to a property.
Enums§
- Place
Base Key - Base of a contract/MIR place tracked by relevance.
Functions§
- bind_
callsite_ roots - Bind callee parameter roots to concrete MIR call operands.
- bind_
operand_ 🔒place - call_
args_ uses_ at - Collect MIR roots used by selected call argument indices.
- is_
target_ 🔒argument_ index - Return whether an argument index is a target-place position for a property.
- operand_
uses - Collect all MIR roots used by an operand.
- place_
projection_ uses - Collect only the index roots used by a place projection.
- place_
uses - Collect the base and projection-index roots used by a MIR place.
- rvalue_
operands - Collect all MIR operands referenced by an rvalue.
- terminator_
use_ def - Collect definitions and uses for one MIR terminator.