Struct calyx_opt::analysis::ReadWriteSet
source · pub struct ReadWriteSet;Expand description
Calcuate the reads-from and writes-to set for a given set of assignments.
Implementations§
source§impl ReadWriteSet
impl ReadWriteSet
sourcepub fn port_reads<T>(
assign: &Assignment<T>
) -> impl Iterator<Item = RRC<Port>> + '_
pub fn port_reads<T>( assign: &Assignment<T> ) -> impl Iterator<Item = RRC<Port>> + '_
Returns ir::Port that are read from in the given Assignment.
sourcepub fn port_read_set<'a, T: 'a>(
assigns: impl Iterator<Item = &'a Assignment<T>> + 'a
) -> impl Iterator<Item = RRC<Port>> + 'a
pub fn port_read_set<'a, T: 'a>( assigns: impl Iterator<Item = &'a Assignment<T>> + 'a ) -> impl Iterator<Item = RRC<Port>> + 'a
Returns ir::Port which are read from in the assignments.
sourcepub fn port_write_set<'a, T: 'a>(
assigns: impl Iterator<Item = &'a Assignment<T>> + 'a
) -> impl Iterator<Item = RRC<Port>> + 'a
pub fn port_write_set<'a, T: 'a>( assigns: impl Iterator<Item = &'a Assignment<T>> + 'a ) -> impl Iterator<Item = RRC<Port>> + 'a
Returns ir::Port which are written to in the assignments.
sourcepub fn read_set<'a, T: 'a>(
assigns: impl Iterator<Item = &'a Assignment<T>> + 'a
) -> impl Iterator<Item = RRC<Cell>> + 'a
pub fn read_set<'a, T: 'a>( assigns: impl Iterator<Item = &'a Assignment<T>> + 'a ) -> impl Iterator<Item = RRC<Cell>> + 'a
Returns ir::Cell which are read from in the assignments. Ignores reads from group holes.
sourcepub fn write_set<'a, T: 'a>(
assigns: impl Iterator<Item = &'a Assignment<T>> + 'a
) -> impl Iterator<Item = RRC<Cell>> + 'a
pub fn write_set<'a, T: 'a>( assigns: impl Iterator<Item = &'a Assignment<T>> + 'a ) -> impl Iterator<Item = RRC<Cell>> + 'a
Returns ir::Cell which are written to by the assignments. Ignores reads from group holes.
sourcepub fn register_reads<'a, T: 'a>(
assigns: impl Iterator<Item = &'a Assignment<T>> + Clone + 'a
) -> impl Iterator<Item = RRC<Cell>> + 'a
pub fn register_reads<'a, T: 'a>( assigns: impl Iterator<Item = &'a Assignment<T>> + Clone + 'a ) -> impl Iterator<Item = RRC<Cell>> + 'a
Returns the register cells whose out port is read anywhere in the given assignments
sourcepub fn must_write_set<'a, T: 'a>(
assigns: impl Iterator<Item = &'a Assignment<T>> + 'a
) -> impl Iterator<Item = RRC<Cell>> + 'a
pub fn must_write_set<'a, T: 'a>( assigns: impl Iterator<Item = &'a Assignment<T>> + 'a ) -> impl Iterator<Item = RRC<Cell>> + 'a
Return the name of the cells that these assignments write to for writes that are guarded by true. Ignores writes to group holes.
source§impl ReadWriteSet
impl ReadWriteSet
sourcepub fn control_port_read_write_set_static(
scon: &StaticControl
) -> (Vec<RRC<Port>>, Vec<RRC<Port>>)
pub fn control_port_read_write_set_static( scon: &StaticControl ) -> (Vec<RRC<Port>>, Vec<RRC<Port>>)
Returns the ports that are read by the given control program.
Auto Trait Implementations§
impl RefUnwindSafe for ReadWriteSet
impl Send for ReadWriteSet
impl Sync for ReadWriteSet
impl Unpin for ReadWriteSet
impl UnwindSafe for ReadWriteSet
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