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>,
mods: &mut Self::Module,
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
fn new_metadata(&self, sess: TyCtxt<'_>, mod_name: &str) -> Self::Modulefn write_compressed_metadata<'tcx>(
&self,
tcx: TyCtxt<'tcx>,
metadata: &EncodedMetadata,
llvm_module: &mut Self::Module
)fn codegen_allocator<'tcx>(
&self,
tcx: TyCtxt<'tcx>,
mods: &mut Self::Module,
kind: AllocatorKind,
has_alloc_error_handler: bool
)fn compile_codegen_unit(
&self,
tcx: TyCtxt<'_>,
cgu_name: Symbol
) -> (ModuleCodegen<Self::Module>, u64)
fn compile_codegen_unit(
&self,
tcx: TyCtxt<'_>,
cgu_name: Symbol
) -> (ModuleCodegen<Self::Module>, u64)This generates the codegen unit and returns it along with
a u64 giving an estimate of the unit’s processing cost.
fn target_machine_factory(
&self,
sess: &Session,
opt_level: OptLevel
) -> TargetMachineFactoryFn<Self>fn target_cpu<'b>(&self, sess: &'b Session) -> &'b str