Module rustc_mir_dataflow::impls
source · Expand description
Dataflow analyses are built upon some interpretation of the bitvectors attached to each basic block, represented via a zero-sized structure.
Modules
- liveness 🔒
Structs
DefinitelyInitializedPlaces
tracks all places that are definitely initialized upon reaching a particular point in the control flow for a function.EverInitializedPlaces
tracks all places that might have ever been initialized upon reaching a particular point in the control flow for a function, without an interveningStorageDead
.- A dataflow analysis that tracks whether a pointer or reference could possibly exist that points to a given local.
MaybeInitializedPlaces
tracks all places that might be initialized upon reaching a particular point in the control flow for a function.- Dataflow analysis that determines whether each local requires storage at a given location; i.e. whether its storage can go away without being observed.
- Like
MaybeLiveLocals
, but does not mark locals as live if they are used in a dead assignment. MaybeUninitializedPlaces
tracks all places that might be uninitialized upon reaching a particular point in the control flow for a function.
Statics
- CALLSITE 🔒
- CALLSITE 🔒
- CALLSITE 🔒
- CALLSITE 🔒
- CALLSITE 🔒
- CALLSITE 🔒
- META 🔒
- META 🔒
- META 🔒
- META 🔒
- META 🔒
- META 🔒
Functions
- The set of locals that are borrowed at some point in the MIR body.
- Calls
f
for each mutable borrow or raw reference in the program. - Inspect a
SwitchInt
-terminated basic block to see if the condition of thatSwitchInt
is an enum discriminant.