[]Struct cranelift::prelude::isa::EncInfo

pub struct EncInfo {
    pub constraints: &'static [RecipeConstraints],
    pub sizing: &'static [RecipeSizing],
    pub names: &'static [&'static str],
}

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.

Methods

impl EncInfo

pub fn operand_constraints(
    &self,
    enc: Encoding
) -> Option<&'static RecipeConstraints>

Get the value operand constraints for enc if it is a legal encoding.

pub fn display(&self, enc: Encoding) -> DisplayEncoding

Create an object that can display an ISA-dependent encoding properly.

pub fn byte_size(
    &self,
    enc: Encoding,
    inst: Inst,
    divert: &RegDiversions,
    func: &Function
) -> u32

Get the size in bytes of inst, if it were encoded with enc.

Returns 0 for illegal encodings.

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

impl Clone for EncInfo

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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

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

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

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

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

type Owned = T

The resulting type after obtaining ownership.

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.

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.