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>

source

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>

source§

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

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)

Insert an instruction and return a reference to it, consuming the builder. Read more

Auto Trait Implementations§

§

impl<'f> RefUnwindSafe for ReplaceBuilder<'f>

§

impl<'f> Send for ReplaceBuilder<'f>

§

impl<'f> Sync for ReplaceBuilder<'f>

§

impl<'f> Unpin for ReplaceBuilder<'f>

§

impl<'f> !UnwindSafe for ReplaceBuilder<'f>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.