Enum spirt::spv::lift::LazyInst

source ·
enum LazyInst<'a, 'b> {
    Global(Global),
    OpFunction {
        func_id: Id,
        func_decl: &'a FuncDecl,
    },
    OpFunctionParameter {
        param_id: Id,
        param: &'a FuncParam,
    },
    OpLabel {
        label_id: Id,
    },
    OpPhi {
        parent_func: &'b FuncLifting<'a>,
        phi: &'b Phi,
    },
    DataInst {
        parent_func: &'b FuncLifting<'a>,
        result_id: Option<Id>,
        data_inst_def: &'a DataInstDef,
    },
    Merge(Merge<Id>),
    Terminator {
        parent_func: &'b FuncLifting<'a>,
        terminator: &'b Terminator<'a>,
    },
    OpFunctionEnd,
}
Expand description

“Maybe-decorated “lazy” SPIR-V instruction, allowing separately emitting decorations from attributes, and the instruction itself, without eagerly allocating all the instructions.

Variants§

§

Global(Global)

§

OpFunction

Fields

§func_id: Id
§func_decl: &'a FuncDecl
§

OpFunctionParameter

Fields

§param_id: Id
§param: &'a FuncParam
§

OpLabel

Fields

§label_id: Id
§

OpPhi

Fields

§parent_func: &'b FuncLifting<'a>
§phi: &'b Phi
§

DataInst

Fields

§parent_func: &'b FuncLifting<'a>
§result_id: Option<Id>
§data_inst_def: &'a DataInstDef
§

Merge(Merge<Id>)

§

Terminator

Fields

§parent_func: &'b FuncLifting<'a>
§terminator: &'b Terminator<'a>
§

OpFunctionEnd

Implementations§

source§

impl LazyInst<'_, '_>

Trait Implementations§

source§

impl<'a, 'b> Clone for LazyInst<'a, 'b>

source§

fn clone(&self) -> LazyInst<'a, 'b>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, 'b> Copy for LazyInst<'a, 'b>

Auto Trait Implementations§

§

impl<'a, 'b> RefUnwindSafe for LazyInst<'a, 'b>

§

impl<'a, 'b> Send for LazyInst<'a, 'b>

§

impl<'a, 'b> Sync for LazyInst<'a, 'b>

§

impl<'a, 'b> Unpin for LazyInst<'a, 'b>

§

impl<'a, 'b> UnwindSafe for LazyInst<'a, 'b>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.