Enum rustc_codegen_ssa::back::lto::LtoModuleCodegen
source · pub enum LtoModuleCodegen<B: WriteBackendMethods> {
Fat {
module: ModuleCodegen<B::Module>,
_serialized_bitcode: Vec<SerializedModule<B::ModuleBuffer>>,
},
Thin(ThinModule<B>),
}
Variants§
Fat
Thin(ThinModule<B>)
Implementations§
source§impl<B: WriteBackendMethods> LtoModuleCodegen<B>
impl<B: WriteBackendMethods> LtoModuleCodegen<B>
pub fn name(&self) -> &str
sourcepub unsafe fn optimize(
self,
cgcx: &CodegenContext<B>
) -> Result<ModuleCodegen<B::Module>, FatalError>
pub unsafe fn optimize(
self,
cgcx: &CodegenContext<B>
) -> Result<ModuleCodegen<B::Module>, FatalError>
Optimize this module within the given codegen context.
This function is unsafe as it’ll return a ModuleCodegen
still
points to LLVM data structures owned by this LtoModuleCodegen
.
It’s intended that the module returned is immediately code generated and
dropped, and then this LTO module is dropped.
Auto Trait Implementations§
impl<B> RefUnwindSafe for LtoModuleCodegen<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 LtoModuleCodegen<B>
impl<B> Sync for LtoModuleCodegen<B>
impl<B> Unpin for LtoModuleCodegen<B>where
<B as WriteBackendMethods>::Module: Unpin,
<B as WriteBackendMethods>::ModuleBuffer: Unpin,
impl<B> UnwindSafe for LtoModuleCodegen<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.