pub struct Frontiers { /* private fields */ }Expand description
Where each block stops dominating, by block number.
The lists are sorted by block number and hold no duplicates, so two of these compare equal when they say the same thing, which is what the analysis cache needs of them.
Implementations§
Source§impl Frontiers
impl Frontiers
Sourcepub fn new(cfg: &Cfg, doms: &Dominators) -> Self
pub fn new(cfg: &Cfg, doms: &Dominators) -> Self
Builds the frontier of every block.
The cost is the size of the answer plus the size of the graph, because the walk from a predecessor stops at the immediate dominator of the block it started for, and every step it takes writes one entry.
Trait Implementations§
impl Eq for Frontiers
impl StructuralPartialEq for Frontiers
Auto Trait Implementations§
impl Freeze for Frontiers
impl RefUnwindSafe for Frontiers
impl Send for Frontiers
impl Sync for Frontiers
impl Unpin for Frontiers
impl UnsafeUnpin for Frontiers
impl UnwindSafe for Frontiers
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