cranelift_codegen::ir

Trait InstInserterBase

Source
pub trait InstInserterBase<'f>: Sized {
    // Required methods
    fn data_flow_graph(&self) -> &DataFlowGraph;
    fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph;
    fn insert_built_inst(self, inst: Inst) -> &'f mut DataFlowGraph;
}
Expand description

Base trait for instruction inserters.

This is an alternative base trait for an instruction builder to implement.

An instruction inserter can be adapted into an instruction builder by wrapping it in an InsertBuilder. This provides some common functionality for instruction builders that insert new instructions, as opposed to the ReplaceBuilder which overwrites existing instructions.

Required Methods§

Source

fn data_flow_graph(&self) -> &DataFlowGraph

Get an immutable reference to the data flow graph.

Source

fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph

Get a mutable reference to the data flow graph.

Source

fn insert_built_inst(self, inst: Inst) -> &'f mut DataFlowGraph

Insert a new instruction which belongs to the DFG.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'c, 'f> InstInserterBase<'c> for &'c mut FuncCursor<'f>