[][src]Struct cranelift_faerie::FaerieBuilder

pub struct FaerieBuilder { /* fields omitted */ }

A builder for FaerieBackend.

Methods

impl FaerieBuilder[src]

pub fn new(
    isa: Box<dyn TargetIsa>,
    name: String,
    collect_traps: FaerieTrapCollection,
    libcall_names: Box<dyn Fn(LibCall) -> String>
) -> ModuleResult<Self>
[src]

Create a new FaerieBuilder using the given Cranelift target, that can be passed to [Module::new](cranelift_module/struct.Module.html#method.new].

Faerie output requires that TargetIsa have PIC (Position Independent Code) enabled.

collect_traps setting determines whether trap information is collected in a FaerieTrapManifest available in the FaerieProduct.

The libcall_names function provides a way to translate cranelift_codegen's ir::LibCall enum to symbols. LibCalls are inserted in the IR as part of the legalization for certain floating point instructions, and for stack probes. If you don't know what to use for this argument, use FaerieBuilder::default_libcall_names().

pub fn default_libcall_names() -> Box<dyn Fn(LibCall) -> String>[src]

Default names for ir::LibCalls. A function by this name is imported into the object as part of the translation of a ir::ExternalName::LibCall variant.

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.