Struct cranelift_codegen::isa::EncInfo [−][src]
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.
Implementations
impl EncInfo[src]
impl EncInfo[src]pub fn operand_constraints(
&self,
enc: Encoding
) -> Option<&'static RecipeConstraints>[src]
&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[src]
Create an object that can display an ISA-dependent encoding properly.
pub fn byte_size(
&self,
enc: Encoding,
inst: Inst,
divert: &RegDiversions,
func: &Function
) -> CodeOffset[src]
&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.
pub fn branch_range(&self, enc: Encoding) -> Option<BranchRange>[src]
Get the branch range that is supported by enc, if any.
This will never return None for a legal branch encoding.