[−][src]Struct rustc_codegen_llvm::LlvmCodegenBackend
Implementations
impl LlvmCodegenBackend[src]
pub fn new() -> Box<dyn CodegenBackend>[src]
Trait Implementations
impl Clone for LlvmCodegenBackend[src]
pub fn clone(&self) -> LlvmCodegenBackend[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl CodegenBackend for LlvmCodegenBackend[src]
pub fn init(&self, sess: &Session)[src]
pub fn print(&self, req: PrintRequest, sess: &Session)[src]
pub fn print_passes(&self)[src]
pub fn print_version(&self)[src]
pub fn target_features(&self, sess: &Session) -> Vec<Symbol>[src]
pub fn metadata_loader(&self) -> Box<MetadataLoaderDyn>[src]
pub fn provide(&self, providers: &mut Providers)[src]
pub fn provide_extern(&self, providers: &mut Providers)[src]
pub fn codegen_crate<'tcx>(
&self,
tcx: TyCtxt<'tcx>,
metadata: EncodedMetadata,
need_metadata_module: bool
) -> Box<dyn Any>[src]
&self,
tcx: TyCtxt<'tcx>,
metadata: EncodedMetadata,
need_metadata_module: bool
) -> Box<dyn Any>
pub fn join_codegen(
&self,
ongoing_codegen: Box<dyn Any>,
sess: &Session
) -> Result<(CodegenResults, FxHashMap<WorkProductId, WorkProduct>), ErrorReported>[src]
&self,
ongoing_codegen: Box<dyn Any>,
sess: &Session
) -> Result<(CodegenResults, FxHashMap<WorkProductId, WorkProduct>), ErrorReported>
pub fn link(
&self,
sess: &Session,
codegen_results: CodegenResults,
outputs: &OutputFilenames
) -> Result<(), ErrorReported>[src]
&self,
sess: &Session,
codegen_results: CodegenResults,
outputs: &OutputFilenames
) -> Result<(), ErrorReported>
pub fn target_override(&self, _opts: &Options) -> Option<Target>[src]
impl ExtraBackendMethods for LlvmCodegenBackend[src]
pub fn new_metadata(&self, tcx: TyCtxt<'_>, mod_name: &str) -> ModuleLlvm[src]
pub fn write_compressed_metadata<'tcx>(
&self,
tcx: TyCtxt<'tcx>,
metadata: &EncodedMetadata,
llvm_module: &mut ModuleLlvm
)[src]
&self,
tcx: TyCtxt<'tcx>,
metadata: &EncodedMetadata,
llvm_module: &mut ModuleLlvm
)
pub fn codegen_allocator<'tcx>(
&self,
tcx: TyCtxt<'tcx>,
mods: &mut ModuleLlvm,
kind: AllocatorKind,
has_alloc_error_handler: bool
)[src]
&self,
tcx: TyCtxt<'tcx>,
mods: &mut ModuleLlvm,
kind: AllocatorKind,
has_alloc_error_handler: bool
)
pub fn compile_codegen_unit(
&self,
tcx: TyCtxt<'_>,
cgu_name: Symbol
) -> (ModuleCodegen<ModuleLlvm>, u64)[src]
&self,
tcx: TyCtxt<'_>,
cgu_name: Symbol
) -> (ModuleCodegen<ModuleLlvm>, u64)
pub fn target_machine_factory(
&self,
sess: &Session,
optlvl: OptLevel
) -> Arc<dyn Fn() -> Result<&'static mut TargetMachine, String> + Send + Sync>[src]
&self,
sess: &Session,
optlvl: OptLevel
) -> Arc<dyn Fn() -> Result<&'static mut TargetMachine, String> + Send + Sync>
pub fn target_cpu<'b>(&self, sess: &'b Session) -> &'b str[src]
pub fn tune_cpu<'b>(&self, sess: &'b Session) -> Option<&'b str>[src]
impl Send for LlvmCodegenBackend[src]
impl Sync for LlvmCodegenBackend[src]
impl WriteBackendMethods for LlvmCodegenBackend[src]
type Module = ModuleLlvm
type ModuleBuffer = ModuleBuffer
type Context = Context
type TargetMachine = &'static mut TargetMachine
type ThinData = ThinData
type ThinBuffer = ThinBuffer
pub fn print_pass_timings(&self)[src]
pub fn run_link(
cgcx: &CodegenContext<Self>,
diag_handler: &Handler,
modules: Vec<ModuleCodegen<Self::Module>>
) -> Result<ModuleCodegen<Self::Module>, FatalError>[src]
cgcx: &CodegenContext<Self>,
diag_handler: &Handler,
modules: Vec<ModuleCodegen<Self::Module>>
) -> Result<ModuleCodegen<Self::Module>, FatalError>
pub fn run_fat_lto(
cgcx: &CodegenContext<Self>,
modules: Vec<FatLTOInput<Self>>,
cached_modules: Vec<(SerializedModule<Self::ModuleBuffer>, WorkProduct)>
) -> Result<LtoModuleCodegen<Self>, FatalError>[src]
cgcx: &CodegenContext<Self>,
modules: Vec<FatLTOInput<Self>>,
cached_modules: Vec<(SerializedModule<Self::ModuleBuffer>, WorkProduct)>
) -> Result<LtoModuleCodegen<Self>, FatalError>
pub fn run_thin_lto(
cgcx: &CodegenContext<Self>,
modules: Vec<(String, Self::ThinBuffer)>,
cached_modules: Vec<(SerializedModule<Self::ModuleBuffer>, WorkProduct)>
) -> Result<(Vec<LtoModuleCodegen<Self>>, Vec<WorkProduct>), FatalError>[src]
cgcx: &CodegenContext<Self>,
modules: Vec<(String, Self::ThinBuffer)>,
cached_modules: Vec<(SerializedModule<Self::ModuleBuffer>, WorkProduct)>
) -> Result<(Vec<LtoModuleCodegen<Self>>, Vec<WorkProduct>), FatalError>
pub unsafe fn optimize(
cgcx: &CodegenContext<Self>,
diag_handler: &Handler,
module: &ModuleCodegen<Self::Module>,
config: &ModuleConfig
) -> Result<(), FatalError>[src]
cgcx: &CodegenContext<Self>,
diag_handler: &Handler,
module: &ModuleCodegen<Self::Module>,
config: &ModuleConfig
) -> Result<(), FatalError>
pub unsafe fn optimize_thin(
cgcx: &CodegenContext<Self>,
thin: &mut ThinModule<Self>
) -> Result<ModuleCodegen<Self::Module>, FatalError>[src]
cgcx: &CodegenContext<Self>,
thin: &mut ThinModule<Self>
) -> Result<ModuleCodegen<Self::Module>, FatalError>
pub unsafe fn codegen(
cgcx: &CodegenContext<Self>,
diag_handler: &Handler,
module: ModuleCodegen<Self::Module>,
config: &ModuleConfig
) -> Result<CompiledModule, FatalError>[src]
cgcx: &CodegenContext<Self>,
diag_handler: &Handler,
module: ModuleCodegen<Self::Module>,
config: &ModuleConfig
) -> Result<CompiledModule, FatalError>
pub fn prepare_thin(
module: ModuleCodegen<Self::Module>
) -> (String, Self::ThinBuffer)[src]
module: ModuleCodegen<Self::Module>
) -> (String, Self::ThinBuffer)
pub fn serialize_module(
module: ModuleCodegen<Self::Module>
) -> (String, Self::ModuleBuffer)[src]
module: ModuleCodegen<Self::Module>
) -> (String, Self::ModuleBuffer)
pub fn run_lto_pass_manager(
cgcx: &CodegenContext<Self>,
module: &ModuleCodegen<Self::Module>,
config: &ModuleConfig,
thin: bool
)[src]
cgcx: &CodegenContext<Self>,
module: &ModuleCodegen<Self::Module>,
config: &ModuleConfig,
thin: bool
)
Auto Trait Implementations
impl RefUnwindSafe for LlvmCodegenBackend
impl Unpin for LlvmCodegenBackend
impl UnwindSafe for LlvmCodegenBackend
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,