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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn 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.