Struct cranelift_codegen::ir::ReplaceBuilder
source · pub struct ReplaceBuilder<'f> { /* private fields */ }
Expand description
Instruction builder that replaces an existing instruction.
The inserted instruction will have the same Inst
number as the old one.
If the old instruction still has result values attached, it is assumed that the new instruction produces the same number and types of results. The old result values are preserved. If the replacement instruction format does not support multiple results, the builder panics. It is a bug to leave result values dangling.
Implementations§
source§impl<'f> ReplaceBuilder<'f>
impl<'f> ReplaceBuilder<'f>
sourcepub fn new(dfg: &'f mut DataFlowGraph, inst: Inst) -> Self
pub fn new(dfg: &'f mut DataFlowGraph, inst: Inst) -> Self
Create a ReplaceBuilder
that will overwrite inst
.
Trait Implementations§
source§impl<'f> InstBuilderBase<'f> for ReplaceBuilder<'f>
impl<'f> InstBuilderBase<'f> for ReplaceBuilder<'f>
source§fn 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.
source§fn 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.
source§fn 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