Enum rustc_codegen_ssa::back::write::WorkItem
source · pub enum WorkItem<B: WriteBackendMethods> {
Optimize(ModuleCodegen<B::Module>),
CopyPostLtoArtifacts(CachedModuleCodegen),
LTO(LtoModuleCodegen<B>),
}
Variants§
Optimize(ModuleCodegen<B::Module>)
Optimize a newly codegened, totally unoptimized module.
CopyPostLtoArtifacts(CachedModuleCodegen)
Copy the post-LTO artifacts from the incremental cache to the output directory.
LTO(LtoModuleCodegen<B>)
Performs (Thin)LTO on the given module.
Implementations§
source§impl<B: WriteBackendMethods> WorkItem<B>
impl<B: WriteBackendMethods> WorkItem<B>
pub fn module_kind(&self) -> ModuleKind
fn start_profiling<'a>(&self, cgcx: &'a CodegenContext<B>) -> TimingGuard<'a>
sourcefn short_description(&self) -> String
fn short_description(&self) -> String
Generate a short description of this work item suitable for use as a thread name.
Auto Trait Implementations§
impl<B> RefUnwindSafe for WorkItem<B>where
<B as WriteBackendMethods>::Module: RefUnwindSafe,
<B as WriteBackendMethods>::ModuleBuffer: RefUnwindSafe,
<B as WriteBackendMethods>::ThinBuffer: RefUnwindSafe,
<B as WriteBackendMethods>::ThinData: RefUnwindSafe,
impl<B> Send for WorkItem<B>
impl<B> Sync for WorkItem<B>
impl<B> Unpin for WorkItem<B>where
<B as WriteBackendMethods>::Module: Unpin,
<B as WriteBackendMethods>::ModuleBuffer: Unpin,
impl<B> UnwindSafe for WorkItem<B>where
<B as WriteBackendMethods>::Module: UnwindSafe,
<B as WriteBackendMethods>::ModuleBuffer: UnwindSafe + RefUnwindSafe,
<B as WriteBackendMethods>::ThinBuffer: RefUnwindSafe,
<B as WriteBackendMethods>::ThinData: RefUnwindSafe,
Blanket Implementations§
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.