pub struct InterferenceGraph { /* private fields */ }Expand description
Interference graph for register allocation
Implementations§
Source§impl InterferenceGraph
impl InterferenceGraph
Sourcepub fn add_variable(&mut self, var: String, live_range: LiveRange)
pub fn add_variable(&mut self, var: String, live_range: LiveRange)
Add a variable to the graph
Sourcepub fn add_interference(&mut self, var1: &str, var2: &str)
pub fn add_interference(&mut self, var1: &str, var2: &str)
Add an interference edge between two variables
Sourcepub fn remove_node(&mut self, var: &str)
pub fn remove_node(&mut self, var: &str)
Remove a node from the graph
Trait Implementations§
Source§impl Debug for InterferenceGraph
impl Debug for InterferenceGraph
Auto Trait Implementations§
impl Freeze for InterferenceGraph
impl RefUnwindSafe for InterferenceGraph
impl Send for InterferenceGraph
impl Sync for InterferenceGraph
impl Unpin for InterferenceGraph
impl UnsafeUnpin for InterferenceGraph
impl UnwindSafe for InterferenceGraph
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> 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