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

pub struct ModuleConfig {
Show fields 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<u32>, 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<u32>new_llvm_pass_manager: boolemit_lifetime_markers: bool

Implementations

impl ModuleConfig[src]

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.