[−][src]Enum cranelift_codegen::ir::instructions::InstructionData
Variants
UnaryFields of Unary
UnaryImmFields of UnaryImm
UnaryIeee32Fields of UnaryIeee32
UnaryIeee64Fields of UnaryIeee64
UnaryBoolFields of UnaryBool
UnaryGlobalValueFields of UnaryGlobalValue
opcode: Opcodeglobal_value: GlobalValueBinaryFields of Binary
BinaryImmFields of BinaryImm
TernaryFields of Ternary
MultiAryFields of MultiAry
NullAryFields of NullAry
opcode: OpcodeInsertLaneFields of InsertLane
ExtractLaneFields of ExtractLane
IntCompareFields of IntCompare
IntCompareImmFields of IntCompareImm
IntCondFields of IntCond
FloatCompareFields of FloatCompare
FloatCondFields of FloatCond
IntSelectFields of IntSelect
JumpFields of Jump
BranchFields of Branch
BranchIntFields of BranchInt
BranchFloatFields of BranchFloat
BranchIcmpFields of BranchIcmp
BranchTableFields of BranchTable
BranchTableEntryFields of BranchTableEntry
BranchTableBaseFields of BranchTableBase
IndirectJumpFields of IndirectJump
CallFields of Call
CallIndirectFields of CallIndirect
FuncAddrFields of FuncAddr
LoadFields of Load
LoadComplexFields of LoadComplex
StoreFields of Store
StoreComplexFields of StoreComplex
StackLoadFields of StackLoad
StackStoreFields of StackStore
HeapAddrFields of HeapAddr
TableAddrFields of TableAddr
RegMoveFields of RegMove
CopySpecialFields of CopySpecial
RegSpillFields of RegSpill
RegFillFields of RegFill
TrapFields of Trap
CondTrapFields of CondTrap
IntCondTrapFields of IntCondTrap
FloatCondTrapFields of FloatCondTrap
Methods
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 Debug for InstructionData[src]
impl<'a> From<&'a InstructionData> for InstructionFormat[src]
fn from(inst: &'a InstructionData) -> Self[src]
impl Clone for InstructionData[src]
fn clone(&self) -> InstructionData[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
Auto Trait Implementations
impl Unpin for InstructionData
impl Send for InstructionData
impl Sync for InstructionData
impl RefUnwindSafe for InstructionData
impl UnwindSafe for InstructionData
Blanket Implementations
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> From<T> for T[src]
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,