Struct cretonne_faerie::FaerieBackend [−][src]
pub struct FaerieBackend { /* fields omitted */ }
A FaerieBackend
implements Backend
and emits ".o" files using the faerie
library.
Trait Implementations
impl Backend for FaerieBackend
[src]
impl Backend for FaerieBackend
type Builder = FaerieBuilder
A builder for constructing Backend
instances.
type CompiledFunction = FaerieCompiledFunction
The results of compiling a function.
type CompiledData = FaerieCompiledData
The results of "compiling" a data object.
type FinalizedFunction = ()
The completed output artifact for a function, if this is meaningful for the Backend
. Read more
type FinalizedData = ()
The completed output artifact for a data object, if this is meaningful for the Backend
. Read more
type Product = FaerieProduct
The returned value here provides functions for emitting object files to memory and files.
fn new(builder: FaerieBuilder) -> Self
[src]
fn new(builder: FaerieBuilder) -> Self
Create a new FaerieBackend
using the given Cretonne target.
fn isa(&self) -> &TargetIsa
[src]
fn isa(&self) -> &TargetIsa
Return the TargetIsa
to compile for.
fn declare_function(&mut self, name: &str, linkage: Linkage)
[src]
fn declare_function(&mut self, name: &str, linkage: Linkage)
Declare a function.
fn declare_data(&mut self, name: &str, linkage: Linkage, writable: bool)
[src]
fn declare_data(&mut self, name: &str, linkage: Linkage, writable: bool)
Declare a data object.
fn define_function(
&mut self,
name: &str,
ctx: &Context,
namespace: &ModuleNamespace<Self>,
code_size: u32
) -> ModuleResult<FaerieCompiledFunction>
[src]
fn define_function(
&mut self,
name: &str,
ctx: &Context,
namespace: &ModuleNamespace<Self>,
code_size: u32
) -> ModuleResult<FaerieCompiledFunction>
Define a function, producing the function body from the given Context
. Read more
fn define_data(
&mut self,
name: &str,
data_ctx: &DataContext,
namespace: &ModuleNamespace<Self>
) -> ModuleResult<FaerieCompiledData>
[src]
fn define_data(
&mut self,
name: &str,
data_ctx: &DataContext,
namespace: &ModuleNamespace<Self>
) -> ModuleResult<FaerieCompiledData>
Define a zero-initialized data object of the given size. Read more
fn write_data_funcaddr(
&mut self,
_data: &mut FaerieCompiledData,
_offset: usize,
_what: FuncRef
)
[src]
fn write_data_funcaddr(
&mut self,
_data: &mut FaerieCompiledData,
_offset: usize,
_what: FuncRef
)
Write the address of what
into the data for data
at offset
. data
must refer to a defined data object. Read more
fn write_data_dataaddr(
&mut self,
_data: &mut FaerieCompiledData,
_offset: usize,
_what: GlobalValue,
_usize: Addend
)
[src]
fn write_data_dataaddr(
&mut self,
_data: &mut FaerieCompiledData,
_offset: usize,
_what: GlobalValue,
_usize: Addend
)
Write the address of what
plus addend
into the data for data
at offset
. data
must refer to a defined data object. Read more
fn finalize_function(
&mut self,
_func: &FaerieCompiledFunction,
_namespace: &ModuleNamespace<Self>
)
[src]
fn finalize_function(
&mut self,
_func: &FaerieCompiledFunction,
_namespace: &ModuleNamespace<Self>
)
Perform all outstanding relocations on the given function. This requires all Local
and Export
entities referenced to be defined. Read more
fn finalize_data(
&mut self,
_data: &FaerieCompiledData,
_namespace: &ModuleNamespace<Self>
)
[src]
fn finalize_data(
&mut self,
_data: &FaerieCompiledData,
_namespace: &ModuleNamespace<Self>
)
Perform all outstanding relocations on the given data object. This requires all Local
and Export
entities referenced to be defined. Read more
fn finish(self) -> FaerieProduct
[src]
fn finish(self) -> FaerieProduct
Consume this Backend
and return a result. Some implementations may provide additional functionality through this result. Read more
Auto Trait Implementations
impl !Send for FaerieBackend
impl !Send for FaerieBackend
impl !Sync for FaerieBackend
impl !Sync for FaerieBackend