pub(crate) struct LivenessValues<N: Idx> {
    elements: Rc<RegionValueElements>,
    points: SparseIntervalMatrix<N, PointIndex>,
}
Expand description

When we initially compute liveness, we use an interval matrix storing liveness ranges for each region-vid.

Fields

elements: Rc<RegionValueElements>points: SparseIntervalMatrix<N, PointIndex>

Implementations

Creates a new set of “region values” that tracks causal information. Each of the regions in num_region_variables will be initialized with an empty set of points and no causal information.

Iterate through each region that has a value in this set.

Adds the given element to the value for the given region. Returns whether the element is newly added (i.e., was not already present).

Adds all the elements in the given bit array into the given region. Returns whether any of them are newly added.

Adds all the control-flow points to the values for r.

Returns true if the region r contains the given element.

Returns an iterator of all the elements contained by the region r

Returns a “pretty” string value of the region. Meant for debugging.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Layout

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.

Size: 40 bytes