pub struct RcUseAnalysis { /* private fields */ }Expand description
Computes the number of uses (increments needed) for each variable in an LCNF expression, to drive multi-increment codegen.
Implementations§
Source§impl RcUseAnalysis
impl RcUseAnalysis
Sourcepub fn analyze_module(&mut self, module: &LcnfModule)
pub fn analyze_module(&mut self, module: &LcnfModule)
Analyze an LCNF module.
Sourcepub fn analyze_expr(&mut self, expr: &LcnfExpr)
pub fn analyze_expr(&mut self, expr: &LcnfExpr)
Analyze an expression.
Sourcepub fn multi_use_vars(&self) -> Vec<(LcnfVarId, usize)>
pub fn multi_use_vars(&self) -> Vec<(LcnfVarId, usize)>
Get all variables with more than one use.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RcUseAnalysis
impl RefUnwindSafe for RcUseAnalysis
impl Send for RcUseAnalysis
impl Sync for RcUseAnalysis
impl Unpin for RcUseAnalysis
impl UnsafeUnpin for RcUseAnalysis
impl UnwindSafe for RcUseAnalysis
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