Struct Riscv64Backend
pub struct Riscv64Backend { /* private fields */ }
Expand description
An riscv64 backend.
Implementations§
§impl Riscv64Backend
impl Riscv64Backend
pub 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§
§impl Display for Riscv64Backend
impl Display for Riscv64Backend
§impl TargetIsa for Riscv64Backend
impl TargetIsa for Riscv64Backend
§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 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.
§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 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.§fn is_branch_protection_enabled(&self) -> bool
fn is_branch_protection_enabled(&self) -> bool
Get a flag indicating whether branch protection is enabled.
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