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
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 intervening StorageDead
.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.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 that SwitchInt
is
an enum discriminant.