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 DynSend for SccInfo
impl DynSync for SccInfo
impl Freeze for SccInfo
impl RefUnwindSafe for SccInfo
impl Send for SccInfo
impl Sync for SccInfo
impl Unpin for SccInfo
impl UnsafeUnpin 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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