Crate rustc_mir_dataflow

Source

Modules§

debuginfo
drop_flag_effects 🔒
elaborate_drops
errors 🔒
fmt
Custom formatting traits used when outputting Graphviz diagrams with the results of a dataflow analysis.
framework 🔒
A framework that can express both gen-kill and generic dataflow problems.
graphviz
A helpful diagram for debugging dataflow problems.
impls
lattice
Traits used to represent lattices for use as the domain of a dataflow analysis.
move_paths
points
rustc_peek
un_derefer 🔒
value_analysis

Structs§

Backward
Dataflow that runs from the exit of a block (terminator), to its entry (the first statement).
Forward
Dataflow that runs from the entry of a block (the first statement), to its exit (terminator).
MoveDataTypingEnv
Results
A dataflow analysis that has converged to fixpoint. It only holds the domain values at the entry of each basic block. Domain values in other parts of the block are recomputed on the fly by visitors (i.e. ResultsCursor, or ResultsVisitor impls).
ResultsCursor
Allows random access inspection of the results of a dataflow analysis. Use this when you want to inspect domain values only in certain locations; use ResultsVisitor if you want to inspect domain values in many or all locations.

Enums§

MaybeReachable
Extend a lattice with a bottom value to represent an unreachable execution.

Statics§

DEFAULT_LOCALE_RESOURCE
Raw content of Fluent resource for this crate, generated by fluent_messages macro, imported by rustc_driver to include all crates’ resources in one bundle.

Traits§

Analysis
A dataflow problem with an arbitrarily complex transfer function.
Direction
GenKill
The legal operations for a transfer function in a gen/kill problem.
JoinSemiLattice
A partially ordered set that has a least upper bound for any pair of elements in the set.
ResultsVisitor
A visitor over the results of an Analysis. Use this when you want to inspect domain values in many or all locations; use ResultsCursor if you want to inspect domain values only in certain locations.

Functions§

drop_flag_effects_for_function_entry
drop_flag_effects_for_location
move_path_children_matching
on_all_children_bits
on_lookup_result_bits
visit_results
Calls the corresponding method in ResultsVisitor for every location in a mir::Body with the dataflow state at that location.

Type Aliases§

EntryStates