Enum rustc_codegen_ssa::back::lto::LtoModuleCodegen[−][src]

pub enum LtoModuleCodegen<B: WriteBackendMethods> {
    Fat {
        module: Option<ModuleCodegen<B::Module>>,
        _serialized_bitcode: Vec<SerializedModule<B::ModuleBuffer>>,
    },
    Thin(ThinModule<B>),
}

Variants

Fat
Show fields

Fields of Fat

module: Option<ModuleCodegen<B::Module>>_serialized_bitcode: Vec<SerializedModule<B::ModuleBuffer>>
Thin(ThinModule<B>)

Implementations

impl<B: WriteBackendMethods> LtoModuleCodegen<B>[src]

pub fn name(&self) -> &str[src]

pub unsafe fn optimize(
    &mut self,
    cgcx: &CodegenContext<B>
) -> Result<ModuleCodegen<B::Module>, FatalError>
[src]

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.

pub fn cost(&self) -> u64[src]

A “gauge” of how costly it is to optimize this module, used to sort biggest modules first.

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: RefUnwindSafe + UnwindSafe,
    <B as WriteBackendMethods>::ThinBuffer: RefUnwindSafe,
    <B as WriteBackendMethods>::ThinData: RefUnwindSafe, 

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

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]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.