pub struct Live { /* private fields */ }Expand description
What is live where.
Implementations§
Source§impl Live
impl Live
Sourcepub fn of(func: &Func, order: &Order) -> Self
pub fn of(func: &Func, order: &Order) -> Self
Works it out for a function laid out in that order.
Sourcepub fn range(&self, reg: Reg) -> Option<Range>
pub fn range(&self, reg: Reg) -> Option<Range>
Where a virtual register is live, or None for one this function never mentions and for
a physical register.
Sourcepub fn live_in(&self, block: Block) -> impl Iterator<Item = Reg> + '_
pub fn live_in(&self, block: Block) -> impl Iterator<Item = Reg> + '_
Every virtual register that arrives in a block already holding a value.
The block’s own parameters are not among them. A parameter is written where it arrives, which makes it a value the block defines rather than one it inherits.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Live
impl RefUnwindSafe for Live
impl Send for Live
impl Sync for Live
impl Unpin for Live
impl UnsafeUnpin for Live
impl UnwindSafe for Live
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