[][src]Struct cranelift_codegen_meta::cdsl::isa::TargetIsa

pub(crate) struct TargetIsa {
    pub name: &'static str,
    pub instructions: InstructionGroup,
    pub settings: SettingGroup,
    pub regs: IsaRegs,
    pub recipes: PrimaryMap<EncodingRecipeNumber, EncodingRecipe>,
    pub cpu_modes: Vec<CpuMode>,
    pub encodings_predicates: PrimaryMap<InstructionPredicateNumber, InstructionPredicate>,
    pub local_transform_groups: Vec<TransformGroupIndex>,
}

Fields

name: &'static strinstructions: InstructionGroupsettings: SettingGroupregs: IsaRegsrecipes: PrimaryMap<EncodingRecipeNumber, EncodingRecipe>cpu_modes: Vec<CpuMode>encodings_predicates: PrimaryMap<InstructionPredicateNumber, InstructionPredicate>local_transform_groups: Vec<TransformGroupIndex>

TransformGroupIndex are global to all the ISAs, while we want to have indices into the local array of transform groups that are directly used. We use this map to get this information.

Methods

impl TargetIsa[src]

pub fn new(
    name: &'static str,
    instructions: InstructionGroup,
    settings: SettingGroup,
    regs: IsaRegs,
    recipes: PrimaryMap<EncodingRecipeNumber, EncodingRecipe>,
    cpu_modes: Vec<CpuMode>,
    encodings_predicates: PrimaryMap<InstructionPredicateNumber, InstructionPredicate>
) -> Self
[src]

pub fn transitive_transform_groups(
    &self,
    all_groups: &TransformGroups
) -> Vec<TransformGroupIndex>
[src]

Returns a deterministically ordered, deduplicated list of TransformGroupIndex for the transitive set of TransformGroup this TargetIsa uses.

pub fn direct_transform_groups(&self) -> &Vec<TransformGroupIndex>[src]

Returns a deterministically ordered, deduplicated list of TransformGroupIndex for the directly reachable set of TransformGroup this TargetIsa uses.

pub fn translate_group_index(&self, group_index: TransformGroupIndex) -> usize[src]

Auto Trait Implementations

impl !RefUnwindSafe for TargetIsa

impl !Send for TargetIsa

impl !Sync for TargetIsa

impl Unpin for TargetIsa

impl !UnwindSafe for TargetIsa

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, 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.