pub enum RegClass {
Int,
Float,
}
Expand description
Register classes.
Every value has a “register class”, which is like a type at the register-allocator level. Every register must belong to only one class; i.e., they are disjoint.
For tight bit-packing throughout our data structures, we support only two classes, “int” and “float”. This will usually be enough on modern machines, as they have one class of general-purpose integer registers of machine width (e.g. 64 bits), and another class of float/vector registers used both for FP and for vector operations. If needed, we could adjust bitpacking to allow for more classes in the future.
Variants§
Trait Implementations§
source§impl Ord for RegClass
impl Ord for RegClass
source§impl PartialEq<RegClass> for RegClass
impl PartialEq<RegClass> for RegClass
source§impl PartialOrd<RegClass> for RegClass
impl PartialOrd<RegClass> for RegClass
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for RegClass
impl Eq for RegClass
impl StructuralEq for RegClass
impl StructuralPartialEq for RegClass
Auto Trait Implementations§
impl RefUnwindSafe for RegClass
impl Send for RegClass
impl Sync for RegClass
impl Unpin for RegClass
impl UnwindSafe for RegClass
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more