Module liveness

Source

Modules§

local_use_map πŸ”’
trace πŸ”’

Structs§

LiveVariablesVisitor πŸ”’
Visitor looking for regions that should be live within rvalues or calls.

Functions§

compute_relevant_live_locals πŸ”’
generate πŸ”’
Combines liveness analysis with initialization analysis to determine which variables are live at which points, both due to ordinary uses and drops. Returns a set of (ty, location) pairs that indicate which types must be live at which point in the CFG. This vector is consumed by constraint_generation.
record_regular_live_regions πŸ”’
Some variables are β€œregular live” at location – i.e., they may be used later. This means that all regions appearing in their type must be live at location.
regions_that_outlive_free_regions πŸ”’
Computes all regions that are (currently) known to outlive free regions. For these regions, we do not need to compute liveness, since the outlives constraints will ensure that they are live over the whole fn body anyhow.