pub struct StaticParTiming { /* private fields */ }
Expand description
Calculate live ranges across static par blocks. Assumes control ids have already been given; it does not add its own
Implementations§
Source§impl StaticParTiming
impl StaticParTiming
Sourcepub fn new(
control: &mut Control,
comp_name: Id,
live: &LiveRangeAnalysis,
) -> Self
pub fn new( control: &mut Control, comp_name: Id, live: &LiveRangeAnalysis, ) -> Self
Construct a live range analysis.
Sourcepub fn liveness_overlaps(
&self,
par_id: &u64,
thread_a: &u64,
thread_b: &u64,
a: &Id,
b: &Id,
) -> bool
pub fn liveness_overlaps( &self, par_id: &u64, thread_a: &u64, thread_b: &u64, a: &Id, b: &Id, ) -> bool
par_id
is the id of a par thread.
thread_a
and thread_b
are ids of direct children of par_id (if thread_a
and
thread_b
are not direct children of par_id, then the function will error)
a
and b
are cell names
liveness_overlaps checks if the liveness of a
in thread_a
ever overlaps
with the liveness of b
in thread_b
if par_id
is not static, then will automtically return true
Trait Implementations§
Source§impl Debug for StaticParTiming
impl Debug for StaticParTiming
Source§impl Default for StaticParTiming
impl Default for StaticParTiming
Source§fn default() -> StaticParTiming
fn default() -> StaticParTiming
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for StaticParTiming
impl RefUnwindSafe for StaticParTiming
impl Send for StaticParTiming
impl Sync for StaticParTiming
impl Unpin for StaticParTiming
impl UnwindSafe for StaticParTiming
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