pub struct SccRegion {
pub representative: BasicBlock,
pub blocks: Vec<BasicBlock>,
pub exits: Vec<SccRegionExit>,
pub backedges: Vec<(BasicBlock, BasicBlock)>,
}Expand description
A cyclic SCC region specialized for MIR basic blocks.
Fields§
§representative: BasicBlockStable representative block used as the key for this SCC region.
blocks: Vec<BasicBlock>Blocks that belong to the SCC region.
exits: Vec<SccRegionExit>Edges that leave the SCC region.
backedges: Vec<(BasicBlock, BasicBlock)>Edges inside the SCC region that go back to an earlier block or the representative.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SccRegion
impl RefUnwindSafe for SccRegion
impl Send for SccRegion
impl Sync for SccRegion
impl Unpin for SccRegion
impl UnwindSafe for SccRegion
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