Struct cranelift_codegen::isa::EncInfo
source · [−]pub struct EncInfo {
pub constraints: &'static [RecipeConstraints],
pub sizing: &'static [RecipeSizing],
pub names: &'static [&'static str],
}
Expand description
Information about all the encodings in this ISA.
Fields
constraints: &'static [RecipeConstraints]
Constraints on value operands per recipe.
sizing: &'static [RecipeSizing]
Code size information per recipe.
names: &'static [&'static str]
Names of encoding recipes.
Implementations
sourceimpl EncInfo
impl EncInfo
sourcepub fn operand_constraints(
&self,
enc: Encoding
) -> Option<&'static RecipeConstraints>
pub fn operand_constraints(
&self,
enc: Encoding
) -> Option<&'static RecipeConstraints>
Get the value operand constraints for enc
if it is a legal encoding.
sourcepub fn display(&self, enc: Encoding) -> DisplayEncoding
pub fn display(&self, enc: Encoding) -> DisplayEncoding
Create an object that can display an ISA-dependent encoding properly.
sourcepub fn byte_size(
&self,
enc: Encoding,
inst: Inst,
divert: &RegDiversions,
func: &Function
) -> CodeOffset
pub fn byte_size(
&self,
enc: Encoding,
inst: Inst,
divert: &RegDiversions,
func: &Function
) -> CodeOffset
Get the size in bytes of inst
, if it were encoded with enc
.
Returns 0 for illegal encodings.
sourcepub fn branch_range(&self, enc: Encoding) -> Option<BranchRange>
pub fn branch_range(&self, enc: Encoding) -> Option<BranchRange>
Get the branch range that is supported by enc
, if any.
This will never return None
for a legal branch encoding.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for EncInfo
impl Send for EncInfo
impl Sync for EncInfo
impl Unpin for EncInfo
impl UnwindSafe for EncInfo
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more