Struct calyx_opt::analysis::VariableDetection
source · [−]pub struct VariableDetection;
Expand description
Detects if a group is solely being used to update a register.
Implementations
sourceimpl VariableDetection
impl VariableDetection
sourcepub fn variable_like(
group_ref: &RRC<Group>,
state_share: &ShareSet
) -> Option<(CellType, Id)>
pub fn variable_like(
group_ref: &RRC<Group>,
state_share: &ShareSet
) -> Option<(CellType, Id)>
A group is variable like if it:
- among write to state_shareable components, there is only one write
- has
@go
port equal to1'd1
- has
g[done] = cell.done
Returns the name of the cell if such a group is detected, otherwise returnsNone
.
Auto Trait Implementations
impl RefUnwindSafe for VariableDetection
impl Send for VariableDetection
impl Sync for VariableDetection
impl Unpin for VariableDetection
impl UnwindSafe for VariableDetection
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more