Trait rustc_codegen_ssa::traits::ExtraBackendMethods[][src]

pub trait ExtraBackendMethods: CodegenBackend + WriteBackendMethods + Sized + Send + Sync {
    fn new_metadata(&self, sess: TyCtxt<'_>, mod_name: &str) -> Self::Module;
fn write_compressed_metadata<'tcx>(
        &self,
        tcx: TyCtxt<'tcx>,
        metadata: &EncodedMetadata,
        llvm_module: &mut Self::Module
    );
fn codegen_allocator<'tcx>(
        &self,
        tcx: TyCtxt<'tcx>,
        module_llvm: &mut Self::Module,
        module_name: &str,
        kind: AllocatorKind,
        has_alloc_error_handler: bool
    );
fn compile_codegen_unit(
        &self,
        tcx: TyCtxt<'_>,
        cgu_name: Symbol
    ) -> (ModuleCodegen<Self::Module>, u64);
fn target_machine_factory(
        &self,
        sess: &Session,
        opt_level: OptLevel
    ) -> TargetMachineFactoryFn<Self>;
fn target_cpu<'b>(&self, sess: &'b Session) -> &'b str;
fn tune_cpu<'b>(&self, sess: &'b Session) -> Option<&'b str>; }

Required methods

This generates the codegen unit and returns it along with a u64 giving an estimate of the unit’s processing cost.

Implementors