[−][src]Struct rustc_codegen_ssa::back::write::ModuleConfig

pub struct ModuleConfig {
    pub passes: Vec<String>,
    pub opt_level: Option<OptLevel>,
    pub opt_size: Option<OptLevel>,
    pub pgo_gen: SwitchWithOptPath,
    pub pgo_use: Option<PathBuf>,
    pub sanitizer: SanitizerSet,
    pub sanitizer_recover: SanitizerSet,
    pub sanitizer_memory_track_origins: usize,
    pub emit_pre_lto_bc: bool,
    pub emit_no_opt_bc: bool,
    pub emit_bc: bool,
    pub emit_ir: bool,
    pub emit_asm: bool,
    pub emit_obj: EmitObj,
    pub bc_cmdline: String,
    pub verify_llvm_ir: bool,
    pub no_prepopulate_passes: bool,
    pub no_builtins: bool,
    pub time_module: bool,
    pub vectorize_loop: bool,
    pub vectorize_slp: bool,
    pub merge_functions: bool,
    pub inline_threshold: Option<usize>,
    pub new_llvm_pass_manager: bool,
    pub emit_lifetime_markers: bool,
}

Module-specific configuration for optimize_and_codegen.

Fields

passes: Vec<String>

Names of additional optimization passes to run.

opt_level: Option<OptLevel>

Some(level) to optimize at a certain level, or None to run absolutely no optimizations (used for the metadata module).

opt_size: Option<OptLevel>

Some(level) to optimize binary size, or None to not affect program size.

pgo_gen: SwitchWithOptPathpgo_use: Option<PathBuf>sanitizer: SanitizerSetsanitizer_recover: SanitizerSetsanitizer_memory_track_origins: usizeemit_pre_lto_bc: boolemit_no_opt_bc: boolemit_bc: boolemit_ir: boolemit_asm: boolemit_obj: EmitObjbc_cmdline: Stringverify_llvm_ir: boolno_prepopulate_passes: boolno_builtins: booltime_module: boolvectorize_loop: boolvectorize_slp: boolmerge_functions: boolinline_threshold: Option<usize>new_llvm_pass_manager: boolemit_lifetime_markers: bool

Implementations

impl ModuleConfig[src]

pub(in back::write) fn new(
    kind: ModuleKind,
    sess: &Session,
    no_builtins: bool,
    is_compiler_builtins: bool
) -> ModuleConfig
[src]

pub fn bitcode_needed(&self) -> bool[src]

Auto Trait Implementations

impl RefUnwindSafe for ModuleConfig

impl Send for ModuleConfig

impl Sync for ModuleConfig

impl Unpin for ModuleConfig

impl UnwindSafe for ModuleConfig

Blanket Implementations

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

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

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

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

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

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.

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.