rustc_mir_dataflow - Rust (original) (raw)
Crate rustc_mir_dataflow
Modules§
errors 🔒
Custom formatting traits used when outputting Graphviz diagrams with the results of a dataflow analysis.
A framework that can express both gen-kill and generic dataflow problems.
A helpful diagram for debugging dataflow problems.
Traits used to represent lattices for use as the domain of a dataflow analysis.
Structs§
Dataflow that runs from the exit of a block (terminator), to its entry (the first statement).
Dataflow that runs from the entry of a block (the first statement), to its exit (terminator).
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).
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§
The value of an inserted drop flag.
Extend a lattice with a bottom value to represent an unreachable execution.
Statics§
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§
A dataflow problem with an arbitrarily complex transfer function.
The legal operations for a transfer function in a gen/kill problem.
A partially ordered set that has a least upper bound for any pair of elements in the set.
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
Calls the corresponding method in ResultsVisitor
for every location in a mir::Body
with the dataflow state at that location.