[−][src]Enum rustc_codegen_ssa::mir::operand::OperandValue

pub enum OperandValue<V> {
    Ref(V, Option<V>, Align),
    Immediate(V),
    Pair(V, V),
}

The representation of a Rust value. The enum variant is in fact uniquely determined by the value's type, but is kept as a safety check.

Variants

Ref(V, Option<V>, Align)

A reference to the actual operand. The data is guaranteed to be valid for the operand's lifetime. The second value, if any, is the extra data (vtable or length) which indicates that it refers to an unsized rvalue.

Immediate(V)

A single LLVM value.

Pair(V, V)

A pair of immediate LLVM values. Used by fat pointers too.

Implementations

impl<'a, 'tcx, V: CodegenObject> OperandValue<V>[src]

pub fn store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
    self,
    bx: &mut Bx,
    dest: PlaceRef<'tcx, V>
)
[src]

pub fn volatile_store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
    self,
    bx: &mut Bx,
    dest: PlaceRef<'tcx, V>
)
[src]

pub fn unaligned_volatile_store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
    self,
    bx: &mut Bx,
    dest: PlaceRef<'tcx, V>
)
[src]

pub fn nontemporal_store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
    self,
    bx: &mut Bx,
    dest: PlaceRef<'tcx, V>
)
[src]

pub(in mir::operand) fn store_with_flags<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
    self,
    bx: &mut Bx,
    dest: PlaceRef<'tcx, V>,
    flags: MemFlags
)
[src]

pub fn store_unsized<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
    self,
    bx: &mut Bx,
    indirect_dest: PlaceRef<'tcx, V>
)
[src]

Trait Implementations

impl<V: Clone> Clone for OperandValue<V>[src]

impl<V: Copy> Copy for OperandValue<V>[src]

impl<V: Debug> Debug for OperandValue<V>[src]

Auto Trait Implementations

impl<V> RefUnwindSafe for OperandValue<V> where
    V: RefUnwindSafe, 

impl<V> Send for OperandValue<V> where
    V: Send, 

impl<V> Sync for OperandValue<V> where
    V: Sync, 

impl<V> Unpin for OperandValue<V> where
    V: Unpin, 

impl<V> UnwindSafe for OperandValue<V> where
    V: UnwindSafe, 

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> 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, 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.