Enum rustc_codegen_ssa::mir::operand::OperandValue
source · 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)
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§
source§impl<'a, 'tcx, V: CodegenObject> OperandValue<V>
impl<'a, 'tcx, V: CodegenObject> OperandValue<V>
pub fn store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
self,
bx: &mut Bx,
dest: PlaceRef<'tcx, V>
)
pub fn volatile_store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
self,
bx: &mut Bx,
dest: PlaceRef<'tcx, V>
)
pub fn unaligned_volatile_store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
self,
bx: &mut Bx,
dest: PlaceRef<'tcx, V>
)
pub fn nontemporal_store<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
self,
bx: &mut Bx,
dest: PlaceRef<'tcx, V>
)
fn store_with_flags<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
self,
bx: &mut Bx,
dest: PlaceRef<'tcx, V>,
flags: MemFlags
)
pub fn store_unsized<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
self,
bx: &mut Bx,
indirect_dest: PlaceRef<'tcx, V>
)
Trait Implementations§
source§impl<V: Clone> Clone for OperandValue<V>
impl<V: Clone> Clone for OperandValue<V>
source§fn clone(&self) -> OperandValue<V>
fn clone(&self) -> OperandValue<V>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<V: Debug> Debug for OperandValue<V>
impl<V: Debug> Debug for OperandValue<V>
impl<V: Copy> Copy for OperandValue<V>
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§
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.