Enum regalloc2::OperandPos
source · [−]pub enum OperandPos {
Early,
Late,
}
Expand description
The “position” of the operand: where it has its read/write effects. These are positions “in” the instruction, and “early” and “late” are relative to the instruction’s main effect or computation. In other words, the allocator assumes that the instruction (i) performs all reads and writes of “early” operands, (ii) does its work, and (iii) performs all reads and writes of its “late” operands.
A “write” (def) at “early” or a “read” (use) at “late” may be
slightly nonsensical, given the above, if the read is necessary
for the computation or the write is a result of it. A way to think
of it is that the value (even if a result of execution) could
have been read or written at the given location without causing
any register-usage conflicts. In other words, these write-early or
use-late operands ensure that the particular allocations are valid
for longer than usual and that a register is not reused between
the use (normally complete at “Early”) and the def (normally
starting at “Late”). See Operand
for more.
Variants
Early
Late
Trait Implementations
sourceimpl Clone for OperandPos
impl Clone for OperandPos
sourcefn clone(&self) -> OperandPos
fn clone(&self) -> OperandPos
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for OperandPos
impl Debug for OperandPos
sourceimpl PartialEq<OperandPos> for OperandPos
impl PartialEq<OperandPos> for OperandPos
impl Copy for OperandPos
impl Eq for OperandPos
impl StructuralEq for OperandPos
impl StructuralPartialEq for OperandPos
Auto Trait Implementations
impl RefUnwindSafe for OperandPos
impl Send for OperandPos
impl Sync for OperandPos
impl Unpin for OperandPos
impl UnwindSafe for OperandPos
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more