pub struct Riscv64Backend { /* private fields */ }
Available on crate feature
riscv64
only.Expand description
An riscv64 backend.
Implementations§
Source§impl Riscv64Backend
impl Riscv64Backend
Sourcepub fn new_with_flags(
triple: Triple,
flags: Flags,
isa_flags: Flags,
) -> Riscv64Backend
pub fn new_with_flags( triple: Triple, flags: Flags, isa_flags: Flags, ) -> Riscv64Backend
Create a new riscv64 backend with the given (shared) flags.
Trait Implementations§
Source§impl Display for Riscv64Backend
impl Display for Riscv64Backend
Source§impl TargetIsa for Riscv64Backend
impl TargetIsa for Riscv64Backend
Source§fn compile_function(
&self,
func: &Function,
domtree: &DominatorTree,
want_disasm: bool,
ctrl_plane: &mut ControlPlane,
) -> CodegenResult<CompiledCodeBase<Stencil>>
fn compile_function( &self, func: &Function, domtree: &DominatorTree, want_disasm: bool, ctrl_plane: &mut ControlPlane, ) -> CodegenResult<CompiledCodeBase<Stencil>>
Compile the given function.
Source§fn dynamic_vector_bytes(&self, _dynamic_ty: Type) -> u32
fn dynamic_vector_bytes(&self, _dynamic_ty: Type) -> u32
Get the ISA-dependent maximum vector register size, in bytes.
Source§fn flags(&self) -> &Flags
fn flags(&self) -> &Flags
Get the ISA-independent flags that were used to make this trait object.
Source§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.
Source§fn emit_unwind_info(
&self,
result: &CompiledCode,
kind: UnwindInfoKind,
) -> CodegenResult<Option<UnwindInfo>>
fn emit_unwind_info( &self, result: &CompiledCode, kind: UnwindInfoKind, ) -> CodegenResult<Option<UnwindInfo>>
Available on crate feature
unwind
only.Creates unwind information for the function. Read more
Source§fn create_systemv_cie(&self) -> Option<CommonInformationEntry>
fn create_systemv_cie(&self) -> Option<CommonInformationEntry>
Available on crate feature
unwind
only.Creates a new System V Common Information Entry for the ISA. Read more
Source§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
Source§fn map_regalloc_reg_to_dwarf(
&self,
reg: Reg,
) -> Result<u16, RegisterMappingError>
fn map_regalloc_reg_to_dwarf( &self, reg: Reg, ) -> Result<u16, RegisterMappingError>
Available on crate feature
unwind
only.Map a regalloc::Reg to its corresponding DWARF register.
Source§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.
Source§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
Source§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
Source§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.Source§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.Source§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.Source§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.Source§fn is_branch_protection_enabled(&self) -> bool
fn is_branch_protection_enabled(&self) -> bool
Get a flag indicating whether branch protection is enabled.
Source§fn wrapped(self) -> OwnedTargetIsawhere
Self: Sized + 'static,
fn wrapped(self) -> OwnedTargetIsawhere
Self: Sized + 'static,
Create a polymorphic TargetIsa from this specific implementation.
Auto Trait Implementations§
impl Freeze for Riscv64Backend
impl RefUnwindSafe for Riscv64Backend
impl Send for Riscv64Backend
impl Sync for Riscv64Backend
impl Unpin for Riscv64Backend
impl UnwindSafe for Riscv64Backend
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