pub struct BasicBlock { /* private fields */ }Implementations
sourceimpl BasicBlock
impl BasicBlock
pub fn new(index: usize, meta: Meta) -> BasicBlock
pub fn from_raw_parts(
index: usize,
meta: Meta,
stmts: Vec<Statement>,
predecessors: HashSet<usize>,
successors: HashSet<usize>
) -> BasicBlock
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn iter(&self) -> impl Iterator<Item = &Statement>
pub fn index(&self) -> usize
pub fn meta(&self) -> &Meta
pub fn statements(&self) -> &Vec<Statement>
pub fn predecessors(&self) -> &HashSet<usize>
pub fn successors(&self) -> &HashSet<usize>
pub fn propagate_degrees(&mut self, env: &mut DegreeEnvironment)
pub fn propagate_values(&mut self, env: &mut ValueEnvironment) -> bool
pub fn propagate_types(&mut self, vars: &Declarations)
Trait Implementations
sourceimpl Clone for BasicBlock
impl Clone for BasicBlock
sourcefn clone(&self) -> BasicBlock
fn clone(&self) -> BasicBlock
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for BasicBlock
impl Debug for BasicBlock
sourceimpl DirectedGraphNode for BasicBlock
impl DirectedGraphNode for BasicBlock
sourceimpl VariableMeta for BasicBlock
impl VariableMeta for BasicBlock
sourcefn cache_variable_use(&mut self)
fn cache_variable_use(&mut self)
Compute variables read/written by the node. Must be called before either of the getters are called. To avoid interior mutability this needs to be called again whenever the node is mutated in a way that may invalidate the cached variable use. Read more
sourcefn locals_read(&self) -> &VariableUses
fn locals_read(&self) -> &VariableUses
Get the set of variables read by the IR node.
sourcefn locals_written(&self) -> &VariableUses
fn locals_written(&self) -> &VariableUses
Get the set of variables written by the IR node.
sourcefn signals_read(&self) -> &VariableUses
fn signals_read(&self) -> &VariableUses
Get the set of signals read by the IR node. Note that this does not include signals belonging to sub-components. Read more
sourcefn signals_written(&self) -> &VariableUses
fn signals_written(&self) -> &VariableUses
Get the set of signals written by the IR node. Note that this does not include signals belonging to sub-components. Read more
sourcefn components_read(&self) -> &VariableUses
fn components_read(&self) -> &VariableUses
Get the set of components read by the IR node. Note that a component read is typically a signal read for a signal exported by the component. Read more
sourcefn components_written(&self) -> &VariableUses
fn components_written(&self) -> &VariableUses
Get the set of components written by the IR node. Note that a component write may either be a component initialization, or a signal write for a signal exported by the component. Read more
sourcefn variables_read<'a>(
&'a self
) -> Box<dyn Iterator<Item = &'a VariableUse> + 'a>
fn variables_read<'a>(
&'a self
) -> Box<dyn Iterator<Item = &'a VariableUse> + 'a>
Get the set of variables read by the IR node. Note that this is simply the union of all locals, signals, and components read by the node. Read more
sourcefn variables_written<'a>(
&'a self
) -> Box<dyn Iterator<Item = &'a VariableUse> + 'a>
fn variables_written<'a>(
&'a self
) -> Box<dyn Iterator<Item = &'a VariableUse> + 'a>
Get the set of variables written by the IR node. Note that this is simply the union of all locals, signals, and components written. Read more
sourcefn variables_used<'a>(
&'a self
) -> Box<dyn Iterator<Item = &'a VariableUse> + 'a>
fn variables_used<'a>(
&'a self
) -> Box<dyn Iterator<Item = &'a VariableUse> + 'a>
Get the set of variables either read or written by the IR node.
Auto Trait Implementations
impl RefUnwindSafe for BasicBlock
impl Send for BasicBlock
impl Sync for BasicBlock
impl Unpin for BasicBlock
impl UnwindSafe for BasicBlock
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