Expand description
Def-use computation types and pure MIR helpers.
These types (PlaceKey, PlaceBaseKey, RelevantPlaces, DefUse) track
which MIR places are relevant to an analysis and compute definitions/uses
from MIR terminators. Shared between the verify module and other analysis
passes (points-to, etc.).
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§
- call_
args_ uses_ at - Collect MIR roots used by selected call argument indices.
- operand_
uses - Collect all MIR roots used by an operand.
- place_
projection_ 🔒uses - place_
uses 🔒 - rvalue_
operands - Collect all MIR operands referenced by an rvalue.
- terminator_
use_ def - Collect definitions and uses for one MIR terminator.
- trace_
place_ origin - Trace a
PlaceKeythrough the dataflow graph to resolve Copy/Move chains back to their origin local.