Struct cranelift_codegen::ir::InsertBuilder  
source · [−]pub struct InsertBuilder<'f, IIB: InstInserterBase<'f>> { /* private fields */ }Expand description
Builder that inserts an instruction at the current position.
An InsertBuilder is a wrapper for an InstInserterBase that turns it into an instruction
builder with some additional facilities for creating instructions that reuse existing values as
their results.
Implementations
sourceimpl<'f, IIB: InstInserterBase<'f>> InsertBuilder<'f, IIB>
 
impl<'f, IIB: InstInserterBase<'f>> InsertBuilder<'f, IIB>
sourcepub fn new(inserter: IIB) -> Self
 
pub fn new(inserter: IIB) -> Self
Create a new builder which inserts instructions at pos.
The dfg and pos.layout references should be from the same Function.
sourcepub fn with_results<Array>(
    self, 
    reuse: Array
) -> InsertReuseBuilder<'f, IIB, Array> where
    Array: AsRef<[Option<Value>]>, 
 
pub fn with_results<Array>(
    self, 
    reuse: Array
) -> InsertReuseBuilder<'f, IIB, Array> where
    Array: AsRef<[Option<Value>]>, 
Reuse result values in reuse.
Convert this builder into one that will reuse the provided result values instead of allocating new ones. The provided values for reuse must not be attached to anything. Any missing result values will be allocated as normal.
The reuse argument is expected to be an array of Option<Value>.
sourcepub fn with_result(
    self, 
    v: Value
) -> InsertReuseBuilder<'f, IIB, [Option<Value>; 1]>
 
pub fn with_result(
    self, 
    v: Value
) -> InsertReuseBuilder<'f, IIB, [Option<Value>; 1]>
Reuse a single result value.
Convert this into a builder that will reuse v as the single result value. The reused
result value v must not be attached to anything.
This method should only be used when building an instruction with exactly one result. Use
with_results() for the more general case.
Trait Implementations
sourceimpl<'f, IIB: InstInserterBase<'f>> InstBuilderBase<'f> for InsertBuilder<'f, IIB>
 
impl<'f, IIB: InstInserterBase<'f>> InstBuilderBase<'f> for InsertBuilder<'f, IIB>
sourcefn data_flow_graph(&self) -> &DataFlowGraph
 
fn data_flow_graph(&self) -> &DataFlowGraph
Get an immutable reference to the data flow graph that will hold the constructed instructions. Read more
sourcefn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph
 
fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph
Get a mutable reference to the data flow graph that will hold the constructed instructions. Read more
sourcefn build(
    self, 
    data: InstructionData, 
    ctrl_typevar: Type
) -> (Inst, &'f mut DataFlowGraph)
 
fn build(
    self, 
    data: InstructionData, 
    ctrl_typevar: Type
) -> (Inst, &'f mut DataFlowGraph)
Insert an instruction and return a reference to it, consuming the builder. Read more
Auto Trait Implementations
impl<'f, IIB> RefUnwindSafe for InsertBuilder<'f, IIB> where
    IIB: RefUnwindSafe, 
impl<'f, IIB> Send for InsertBuilder<'f, IIB> where
    IIB: Send, 
impl<'f, IIB> Sync for InsertBuilder<'f, IIB> where
    IIB: Sync, 
impl<'f, IIB> Unpin for InsertBuilder<'f, IIB> where
    IIB: Unpin, 
impl<'f, IIB> UnwindSafe for InsertBuilder<'f, IIB> where
    IIB: UnwindSafe, 
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
    T: ?Sized, 
 
impl<T> BorrowMut<T> for T where
    T: ?Sized, 
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
 
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more