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

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

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)
Expand description

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)
Expand description

A single LLVM value.

Pair(V, V)
Expand description

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]

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]

fn clone(&self) -> OperandValue<V>[src]

Returns a copy of the value. Read more

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

Performs copy-assignment from source. Read more

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

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<V: Copy> Copy 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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

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

recently added

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

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.

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

Performs the conversion.

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.

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

Performs the conversion.