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
sourceimpl ReadWriteSet
impl ReadWriteSet
sourcepub fn port_reads<T>(
assign: &Assignment<T>
) -> PortIterator<impl Iterator<Item = RRC<Port>>>
pub fn port_reads<T>(
assign: &Assignment<T>
) -> PortIterator<impl Iterator<Item = RRC<Port>>>
Returns ir::Port that are read from in the given Assignment.
sourceimpl 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 and written, respectively, by the given static control program.
sourcepub fn control_read_write_set_static(
scon: &StaticControl
) -> (Vec<RRC<Cell>>, Vec<RRC<Cell>>)
pub fn control_read_write_set_static(
scon: &StaticControl
) -> (Vec<RRC<Cell>>, Vec<RRC<Cell>>)
Returns the cells that are read and written, respectively, by the given static control program.
sourcepub fn control_port_read_write_set<const INCLUDE_HOLE_ASSIGNS: bool>(
con: &Control
) -> (Vec<RRC<Port>>, Vec<RRC<Port>>)
pub fn control_port_read_write_set<const INCLUDE_HOLE_ASSIGNS: bool>(
con: &Control
) -> (Vec<RRC<Port>>, Vec<RRC<Port>>)
Returns the ports that are read and written, respectively, by the given control program. INCLUDE_HOLE_ASSIGNS: in either case, we will ignore done holes. However, if INCLUDE_HOLE_ASSIGNS is false, we ignore all assignments that write to holes, even if the src of that assignment is a cell’s port.
sourcepub fn control_read_write_set<const INCLUDE_HOLE_ASSIGNS: bool>(
con: &Control
) -> (Vec<RRC<Cell>>, Vec<RRC<Cell>>)
pub fn control_read_write_set<const INCLUDE_HOLE_ASSIGNS: bool>(
con: &Control
) -> (Vec<RRC<Cell>>, Vec<RRC<Cell>>)
Returns the cells that are read and written, respectively, by the given control program. INCLUDE_HOLE_ASSIGNS: in either case, we will ignore done holes themselves. However, if INCLUDE_HOLE_ASSIGNS is true, we ignore all assignments that write to holes, even if the src of that assignment is a cell’s port.