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
sourceimpl<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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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.