pub struct StackSlotColoring<V> { /* private fields */ }Expand description
Deterministic stack-slot assignment for target-owned spill homes.
Backends retain responsibility for choosing spill values and translating a slot number into their frame layout. This helper conservatively projects each exact sparse interval to a linear block-order envelope, then reuses slots with a sweep. Envelope overlap may miss a legal reuse across a sparse gap, but cannot make interfering homes alias. The algorithm is independent of target MIR and opcode semantics and runs in O(n log n).
Implementations§
Trait Implementations§
Source§impl<V: Clone> Clone for StackSlotColoring<V>
impl<V: Clone> Clone for StackSlotColoring<V>
Source§fn clone(&self) -> StackSlotColoring<V>
fn clone(&self) -> StackSlotColoring<V>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<V: Debug> Debug for StackSlotColoring<V>
impl<V: Debug> Debug for StackSlotColoring<V>
impl<V: Eq> Eq for StackSlotColoring<V>
Source§impl<V: PartialEq> PartialEq for StackSlotColoring<V>
impl<V: PartialEq> PartialEq for StackSlotColoring<V>
impl<V: PartialEq> StructuralPartialEq for StackSlotColoring<V>
Auto Trait Implementations§
impl<V> Freeze for StackSlotColoring<V>
impl<V> RefUnwindSafe for StackSlotColoring<V>
impl<V> Send for StackSlotColoring<V>
impl<V> Sync for StackSlotColoring<V>
impl<V> Unpin for StackSlotColoring<V>
impl<V> UnsafeUnpin for StackSlotColoring<V>
impl<V> UnwindSafe for StackSlotColoring<V>
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