[][src]Enum llhd::InstKind

pub enum InstKind {
    UnaryInst(UnaryOpTypeValueRef),
    BinaryInst(BinaryOpTypeValueRefValueRef),
    CompareInst(CompareOpTypeValueRefValueRef),
    CallInst(TypeValueRefVec<ValueRef>),
    InstanceInst(TypeValueRefVec<ValueRef>, Vec<ValueRef>),
    WaitInst(BlockRefOption<ValueRef>, Vec<ValueRef>),
    ReturnInst(ReturnKind),
    BranchInst(BranchKind),
    SignalInst(TypeOption<ValueRef>),
    ProbeInst(TypeValueRef),
    DriveInst(ValueRefValueRefOption<ValueRef>),
    VariableInst(Type),
    LoadInst(TypeValueRef),
    StoreInst(TypeValueRefValueRef),
    HaltInst,
    InsertInst(TypeValueRefSliceModeValueRef),
    ExtractInst(TypeValueRefSliceMode),
}

The different forms an instruction can take.

Variants

UnaryInst(UnaryOpTypeValueRef)BinaryInst(BinaryOpTypeValueRefValueRef)CompareInst(CompareOpTypeValueRefValueRef)CallInst(TypeValueRefVec<ValueRef>)InstanceInst(TypeValueRefVec<ValueRef>, Vec<ValueRef>)WaitInst(BlockRefOption<ValueRef>, Vec<ValueRef>)ReturnInst(ReturnKind)BranchInst(BranchKind)SignalInst(TypeOption<ValueRef>)ProbeInst(TypeValueRef)DriveInst(ValueRefValueRefOption<ValueRef>)VariableInst(Type)

<result> = var <type>

LoadInst(TypeValueRef)

<result> = load <type> <ptr>

StoreInst(TypeValueRefValueRef)

store <type> <ptr> <value>

HaltInst

halt

InsertInst(TypeValueRefSliceModeValueRef)

The insert instruction.

ExtractInst(TypeValueRefSliceMode)

The extract instruction.

Methods

impl InstKind[src]

pub fn ty(&self) -> Type[src]

Get the result type of the instruction.

pub fn mnemonic(&self) -> Mnemonic[src]

pub fn is_instance(&self) -> bool[src]

Check if this is an instantiation instruction.

Trait Implementations

impl PartialEq<InstKind> for InstKind[src]

impl Eq for InstKind[src]

impl Clone for InstKind[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for InstKind[src]

Auto Trait Implementations

impl Send for InstKind

impl Sync for InstKind

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.