Crate rustc_mir_dataflow

source ·



  • errors 🔒
  • 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.
  • A helpful diagram for debugging dataflow problems.
  • Dataflow analyses are built upon some interpretation of the bitvectors attached to each basic block, represented via a zero-sized structure.
  • Traits used to represent lattices for use as the domain of a dataflow analysis.
  • This module provides a framework on top of the normal MIR dataflow framework to simplify the implementation of analyses that track information about the values stored in certain places. We are using the term “place” here to refer to a mir::Place (a place expression) instead of an interpret::Place (a memory location).


  • Dataflow that runs from the exit of a block (the terminator), to its entry (the first statement).
  • A solver for dataflow problems.
  • Dataflow that runs from the entry of a block (the first statement), to its exit (terminator).
  • A dataflow analysis that has converged to fixpoint.
  • Allows random access inspection of the results of a dataflow analysis.


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


  • 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.



  • Calls the corresponding method in ResultsVisitor for every location in a mir::Body with the dataflow state at that location.