Struct debris_llir::opt::global_opt::Commands
source · pub struct Commands<'opt, 'ctx> {
pub optimizer: &'opt mut GlobalOptimizer<'ctx>,
pub stats: &'opt mut CodeStats,
pub infinite_loop_detector: InfiniteLoopDetector,
pub commands: &'opt mut OptimizeCommandDeque<OptimizeCommand>,
}
Expand description
Interface for optimizing functions to get data about the code and emit optimization instructions
Fields§
§optimizer: &'opt mut GlobalOptimizer<'ctx>
§stats: &'opt mut CodeStats
§infinite_loop_detector: InfiniteLoopDetector
§commands: &'opt mut OptimizeCommandDeque<OptimizeCommand>
Implementations§
source§impl<'opt, 'ctx> Commands<'opt, 'ctx>
impl<'opt, 'ctx> Commands<'opt, 'ctx>
fn new( optimizer: &'opt mut GlobalOptimizer<'ctx>, stats: &'opt mut CodeStats, commands: &'opt mut OptimizeCommandDeque<OptimizeCommand> ) -> Self
fn retain_functions(&mut self)
pub fn is_id_unused(&self, id: ItemId, node: (BlockId, usize)) -> bool
sourcepub fn get_info(&self, var: ItemId) -> &VariableUsage
pub fn get_info(&self, var: ItemId) -> &VariableUsage
Returns the variable info for this node
pub fn get_reads(&self, var: ItemId) -> usize
pub fn get_call_count(&self, function: BlockId) -> usize
sourcefn run_optimizer<F>(&mut self, optimizer: &mut F) -> boolwhere
F: Optimizer,
fn run_optimizer<F>(&mut self, optimizer: &mut F) -> boolwhere F: Optimizer,
Runs an optimizing function
Returns whether this function could optimize anything
sourcefn execute_commands(&mut self)
fn execute_commands(&mut self)
Execute every command that is in the current command stack
Trait Implementations§
Auto Trait Implementations§
impl<'opt, 'ctx> !RefUnwindSafe for Commands<'opt, 'ctx>
impl<'opt, 'ctx> !Send for Commands<'opt, 'ctx>
impl<'opt, 'ctx> !Sync for Commands<'opt, 'ctx>
impl<'opt, 'ctx> Unpin for Commands<'opt, 'ctx>
impl<'opt, 'ctx> !UnwindSafe for Commands<'opt, 'ctx>
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