Struct rustc_mir_transform::ssa::SmallDominators
source · struct SmallDominators<'a> {
inner: Option<&'a Dominators<BasicBlock>>,
}
Expand description
We often encounter MIR bodies with 1 or 2 basic blocks. In those cases, it’s unnecessary to actually compute dominators, we can just compare block indices because bb0 is always the first block, and in any body all other blocks are always dominated by bb0.
Fields§
§inner: Option<&'a Dominators<BasicBlock>>
Implementations§
source§impl SmallDominators<'_>
impl SmallDominators<'_>
fn dominates(&self, first: Location, second: Location) -> bool
fn check_dominates(&mut self, set: &mut Set1<LocationExtended>, loc: Location)
Auto Trait Implementations§
impl<'a> RefUnwindSafe for SmallDominators<'a>
impl<'a> Send for SmallDominators<'a>
impl<'a> Sync for SmallDominators<'a>
impl<'a> Unpin for SmallDominators<'a>
impl<'a> UnwindSafe for SmallDominators<'a>
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
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: 8 bytes