Struct AArch64Backend
pub struct AArch64Backend { /* private fields */ }
Expand description
An AArch64 backend.
Implementations§
§impl AArch64Backend
impl AArch64Backend
pub fn new_with_flags(
triple: Triple,
flags: Flags,
isa_flags: Flags,
) -> AArch64Backend
pub fn new_with_flags( triple: Triple, flags: Flags, isa_flags: Flags, ) -> AArch64Backend
Create a new AArch64 backend with the given (shared) flags.
Trait Implementations§
§impl Display for AArch64Backend
impl Display for AArch64Backend
§impl TargetIsa for AArch64Backend
impl TargetIsa for AArch64Backend
§fn compile_function(
&self,
func: &Function,
domtree: &DominatorTree,
want_disasm: bool,
ctrl_plane: &mut ControlPlane,
) -> Result<CompiledCodeBase<Stencil>, CodegenError>
fn compile_function( &self, func: &Function, domtree: &DominatorTree, want_disasm: bool, ctrl_plane: &mut ControlPlane, ) -> Result<CompiledCodeBase<Stencil>, CodegenError>
Compile the given function.
§fn isa_flags(&self) -> Vec<Value>
fn isa_flags(&self) -> Vec<Value>
Get the ISA-dependent flag values that were used to make this trait object.
§fn is_branch_protection_enabled(&self) -> bool
fn is_branch_protection_enabled(&self) -> bool
Get a flag indicating whether branch protection is enabled.
§fn dynamic_vector_bytes(&self, _dyn_ty: Type) -> u32
fn dynamic_vector_bytes(&self, _dyn_ty: Type) -> u32
Get the ISA-dependent maximum vector register size, in bytes.
§fn emit_unwind_info(
&self,
result: &CompiledCodeBase<Final>,
kind: UnwindInfoKind,
) -> Result<Option<UnwindInfo>, CodegenError>
fn emit_unwind_info( &self, result: &CompiledCodeBase<Final>, kind: UnwindInfoKind, ) -> Result<Option<UnwindInfo>, CodegenError>
Creates unwind information for the function. Read more
§fn create_systemv_cie(&self) -> Option<CommonInformationEntry>
fn create_systemv_cie(&self) -> Option<CommonInformationEntry>
Creates a new System V Common Information Entry for the ISA. Read more
§fn text_section_builder(&self, num_funcs: usize) -> Box<dyn TextSectionBuilder>
fn text_section_builder(&self, num_funcs: usize) -> Box<dyn TextSectionBuilder>
Returns an object that can be used to build the text section of an
executable. Read more
§fn map_regalloc_reg_to_dwarf(
&self,
reg: Reg,
) -> Result<u16, RegisterMappingError>
fn map_regalloc_reg_to_dwarf( &self, reg: Reg, ) -> Result<u16, RegisterMappingError>
Map a regalloc::Reg to its corresponding DWARF register.
§fn function_alignment(&self) -> FunctionAlignment
fn function_alignment(&self) -> FunctionAlignment
Returns the minimum function alignment and the preferred function
alignment, for performance, required by this ISA.
§fn page_size_align_log2(&self) -> u8
fn page_size_align_log2(&self) -> u8
The log2 of the target’s page size and alignment. Read more
§fn to_capstone(&self) -> Result<Capstone, Error>
fn to_capstone(&self) -> Result<Capstone, Error>
Generate a
Capstone
context for disassembling bytecode for this architecture.§fn has_native_fma(&self) -> bool
fn has_native_fma(&self) -> bool
Returns whether this ISA has a native fused-multiply-and-add instruction
for floats. Read more
§fn has_x86_blendv_lowering(&self, _: Type) -> bool
fn has_x86_blendv_lowering(&self, _: Type) -> bool
Returns whether the CLIF
x86_blendv
instruction is implemented for
this ISA for the specified type.§fn has_x86_pshufb_lowering(&self) -> bool
fn has_x86_pshufb_lowering(&self) -> bool
Returns whether the CLIF
x86_pshufb
instruction is implemented for
this ISA.§fn has_x86_pmulhrsw_lowering(&self) -> bool
fn has_x86_pmulhrsw_lowering(&self) -> bool
Returns whether the CLIF
x86_pmulhrsw
instruction is implemented for
this ISA.§fn has_x86_pmaddubsw_lowering(&self) -> bool
fn has_x86_pmaddubsw_lowering(&self) -> bool
Returns whether the CLIF
x86_pmaddubsw
instruction is implemented for
this ISA.Auto Trait Implementations§
impl Freeze for AArch64Backend
impl RefUnwindSafe for AArch64Backend
impl Send for AArch64Backend
impl Sync for AArch64Backend
impl Unpin for AArch64Backend
impl UnwindSafe for AArch64Backend
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