pub struct SccInfo {
pub enter: usize,
pub nodes: FxHashSet<usize>,
pub exits: FxHashSet<SccExit>,
pub backedges: Vec<(usize, usize)>,
pub child_sccs: Vec<usize>,
}Expand description
Per-header SCC metadata used by loop-aware analyses.
Fields§
§enter: usizeSCC entry / representative block.
nodes: FxHashSet<usize>SCC member set excluding enter.
exits: FxHashSet<SccExit>Edges leaving the SCC.
backedges: Vec<(usize, usize)>Edges inside the SCC region that go back to an earlier block or the representative.
child_sccs: Vec<usize>Representative nodes of nested child SCCs.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SccInfo
impl RefUnwindSafe for SccInfo
impl Send for SccInfo
impl Sync for SccInfo
impl Unpin for SccInfo
impl UnwindSafe for SccInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more