pub struct CompactionAnalysis { /* private fields */ }
Expand description
Struct to perform compaction on seqs
.
It will only work if you update_cont_read_writes for each component that
you run it on.
Implementations§
Source§impl CompactionAnalysis
impl CompactionAnalysis
Sourcepub fn update_cont_read_writes(&mut self, comp: &mut Component)
pub fn update_cont_read_writes(&mut self, comp: &mut Component)
Updates self so that compaction will take continuous assignments into account
Sourcepub fn compact_control_vec(
&mut self,
stmts: Vec<Control>,
promotion_analysis: &mut PromotionAnalysis,
builder: &mut Builder<'_>,
) -> Vec<Control>
pub fn compact_control_vec( &mut self, stmts: Vec<Control>, promotion_analysis: &mut PromotionAnalysis, builder: &mut Builder<'_>, ) -> Vec<Control>
Takes a vec of ctrl stmts and turns it into a compacted schedule. If compaction doesn’t lead to any latency decreases, it just returns a vec of stmts in the original order. If it can compact, then it returns a vec with one element: a compacted static par.
Trait Implementations§
Source§impl Debug for CompactionAnalysis
impl Debug for CompactionAnalysis
Source§impl Default for CompactionAnalysis
impl Default for CompactionAnalysis
Source§fn default() -> CompactionAnalysis
fn default() -> CompactionAnalysis
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CompactionAnalysis
impl !RefUnwindSafe for CompactionAnalysis
impl !Send for CompactionAnalysis
impl !Sync for CompactionAnalysis
impl Unpin for CompactionAnalysis
impl !UnwindSafe for CompactionAnalysis
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