[][src]Enum llhd::ir::Opcode

pub enum Opcode {
    ConstInt,
    ConstTime,
    Alias,
    ArrayUniform,
    Array,
    Struct,
    Not,
    Neg,
    Add,
    Sub,
    And,
    Or,
    Xor,
    Smul,
    Sdiv,
    Smod,
    Srem,
    Umul,
    Udiv,
    Umod,
    Urem,
    Eq,
    Neq,
    Slt,
    Sgt,
    Sle,
    Sge,
    Ult,
    Ugt,
    Ule,
    Uge,
    Shl,
    Shr,
    Mux,
    Reg,
    InsField,
    InsSlice,
    ExtField,
    ExtSlice,
    Con,
    Del,
    Call,
    Inst,
    Sig,
    Prb,
    Drv,
    DrvCond,
    Var,
    Ld,
    St,
    Halt,
    Ret,
    RetValue,
    Phi,
    Br,
    BrCond,
    Wait,
    WaitTime,
}

An instruction opcode.

This enum represents the actual instruction, whereas InstData covers the format and arguments of the instruction.

Variants

ConstInt
ConstTime
Alias
ArrayUniform
Array
Struct
Not
Neg
Add
Sub
And
Or
Xor
Smul
Sdiv
Smod
Srem
Umul
Udiv
Umod
Urem
Eq
Neq
Slt
Sgt
Sle
Sge
Ult
Ugt
Ule
Uge
Shl
Shr
Mux
Reg
InsField
InsSlice
ExtField
ExtSlice
Con
Del
Call
Inst
Sig
Prb
Drv
DrvCond
Var
Ld
St
Halt
Ret
RetValue
Phi
Br
BrCond
Wait
WaitTime

Implementations

impl Opcode[src]

pub fn valid_in(self) -> UnitFlags[src]

Return a set of flags where this instruction is valid.

pub fn valid_in_function(self) -> bool[src]

Check if this instruction can appear in a Function.

pub fn valid_in_process(self) -> bool[src]

Check if this instruction can appear in a Process.

pub fn valid_in_entity(self) -> bool[src]

Check if this instruction can appear in a Entity.

pub fn is_const(self) -> bool[src]

Check if this instruction is a constant.

pub fn is_phi(self) -> bool[src]

Check if this instruction is a phi node.

pub fn is_terminator(self) -> bool[src]

Check if this instruction is a terminator.

pub fn is_return(self) -> bool[src]

Check if this is a return instruction.

pub fn is_temporal(self) -> bool[src]

Check if this is a temporal instruction.

Trait Implementations

impl Clone for Opcode[src]

impl Copy for Opcode[src]

impl Debug for Opcode[src]

impl<'de> Deserialize<'de> for Opcode[src]

impl Display for Opcode[src]

impl Eq for Opcode[src]

impl Hash for Opcode[src]

impl PartialEq<Opcode> for Opcode[src]

impl Serialize for Opcode[src]

impl StructuralEq for Opcode[src]

impl StructuralPartialEq for Opcode[src]

Auto Trait Implementations

impl RefUnwindSafe for Opcode

impl Send for Opcode

impl Sync for Opcode

impl Unpin for Opcode

impl UnwindSafe for Opcode

Blanket Implementations

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

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

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

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.