[−][src]Enum cranelift_codegen::ir::instructions::InstructionData
Variants
Fields of UnaryGlobalValue
opcode: Opcodeglobal_value: GlobalValueFields of NullAry
opcode: OpcodeMethods
impl InstructionData[src]
pub fn opcode(&self) -> Opcode[src]
Get the opcode of this instruction.
pub fn typevar_operand(&self, pool: &ValueListPool) -> Option<Value>[src]
Get the controlling type variable operand.
pub fn arguments<'a>(&'a self, pool: &'a ValueListPool) -> &[Value][src]
Get the value arguments to this instruction.
pub fn arguments_mut<'a>(
&'a mut self,
pool: &'a mut ValueListPool
) -> &mut [Value][src]
&'a mut self,
pool: &'a mut ValueListPool
) -> &mut [Value]
Get mutable references to the value arguments to this instruction.
pub fn take_value_list(&mut self) -> Option<ValueList>[src]
Take out the value list with all the value arguments and return it.
This leaves the value list in the instruction empty. Use
put_value_list to put the value list back.
pub fn put_value_list(&mut self, vlist: ValueList)[src]
Put back a value list.
After removing a value list with take_value_list(), use this
method to put it back. It is required that this instruction has
a format that accepts a value list, and that the existing value
list is empty. This avoids leaking list pool memory.
pub fn eq(&self, other: &Self, pool: &ValueListPool) -> bool[src]
Compare two InstructionData for equality.
This operation requires a reference to a ValueListPool to
determine if the contents of any ValueLists are equal.
pub fn hash<H: Hasher>(&self, state: &mut H, pool: &ValueListPool)[src]
Hash an InstructionData.
This operation requires a reference to a ValueListPool to
hash the contents of any ValueLists.
impl InstructionData[src]
Analyzing an instruction.
Avoid large matches on instruction formats by using the methods defined here to examine instructions.
pub fn analyze_branch<'a>(&'a self, pool: &'a ValueListPool) -> BranchInfo<'a>[src]
Return information about the destination of a branch or jump instruction.
Any instruction that can transfer control to another EBB reveals its possible destinations here.
pub fn branch_destination(&self) -> Option<Ebb>[src]
Get the single destination of this branch instruction, if it is a single destination branch or jump.
Multi-destination branches like br_table return None.
pub fn branch_destination_mut(&mut self) -> Option<&mut Ebb>[src]
Get a mutable reference to the single destination of this branch instruction, if it is a single destination branch or jump.
Multi-destination branches like br_table return None.
pub fn analyze_call<'a>(&'a self, pool: &'a ValueListPool) -> CallInfo<'a>[src]
Return information about a call instruction.
Any instruction that can call another function reveals its call signature here.
Trait Implementations
impl<'a> From<&'a InstructionData> for InstructionFormat[src]
fn from(inst: &'a InstructionData) -> Self[src]
impl Debug for InstructionData[src]
impl Clone for InstructionData[src]
fn clone(&self) -> InstructionData[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Auto Trait Implementations
impl Unpin for InstructionData
impl Send for InstructionData
impl Sync for InstructionData
impl UnwindSafe for InstructionData
impl RefUnwindSafe for InstructionData
Blanket Implementations
impl<T> From<T> for T[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,