Struct rustc_codegen_ssa::back::write::CodegenContext
source · [−]pub struct CodegenContext<B: WriteBackendMethods> {Show 30 fields
pub backend: B,
pub prof: SelfProfilerRef,
pub lto: Lto,
pub save_temps: bool,
pub fewer_names: bool,
pub time_trace: bool,
pub exported_symbols: Option<Arc<ExportedSymbols>>,
pub opts: Arc<Options>,
pub crate_types: Vec<CrateType>,
pub each_linked_rlib_for_lto: Vec<(CrateNum, PathBuf)>,
pub output_filenames: Arc<OutputFilenames>,
pub regular_module_config: Arc<ModuleConfig>,
pub metadata_module_config: Arc<ModuleConfig>,
pub allocator_module_config: Arc<ModuleConfig>,
pub tm_factory: TargetMachineFactoryFn<B>,
pub msvc_imps_needed: bool,
pub is_pe_coff: bool,
pub target_can_use_split_dwarf: bool,
pub target_pointer_width: u32,
pub target_arch: String,
pub debuginfo: DebugInfo,
pub split_debuginfo: SplitDebuginfo,
pub split_dwarf_kind: SplitDwarfKind,
pub total_cgus: usize,
pub diag_emitter: SharedEmitter,
pub remark: Passes,
pub worker: usize,
pub incr_comp_session_dir: Option<PathBuf>,
pub cgu_reuse_tracker: CguReuseTracker,
pub coordinator_send: Sender<Box<dyn Any + Send>>,
}
Expand description
Additional resources used by optimize_and_codegen (not module specific)
Fields
backend: B
prof: SelfProfilerRef
lto: Lto
save_temps: bool
fewer_names: bool
time_trace: bool
exported_symbols: Option<Arc<ExportedSymbols>>
opts: Arc<Options>
crate_types: Vec<CrateType>
each_linked_rlib_for_lto: Vec<(CrateNum, PathBuf)>
output_filenames: Arc<OutputFilenames>
regular_module_config: Arc<ModuleConfig>
metadata_module_config: Arc<ModuleConfig>
allocator_module_config: Arc<ModuleConfig>
tm_factory: TargetMachineFactoryFn<B>
msvc_imps_needed: bool
is_pe_coff: bool
target_can_use_split_dwarf: bool
target_pointer_width: u32
target_arch: String
debuginfo: DebugInfo
split_debuginfo: SplitDebuginfo
split_dwarf_kind: SplitDwarfKind
total_cgus: usize
diag_emitter: SharedEmitter
remark: Passes
worker: usize
incr_comp_session_dir: Option<PathBuf>
cgu_reuse_tracker: CguReuseTracker
coordinator_send: Sender<Box<dyn Any + Send>>
Implementations
sourceimpl<B: WriteBackendMethods> CodegenContext<B>
impl<B: WriteBackendMethods> CodegenContext<B>
pub fn create_diag_handler(&self) -> Handler
pub fn config(&self, kind: ModuleKind) -> &ModuleConfig
Trait Implementations
sourceimpl<B: Clone + WriteBackendMethods> Clone for CodegenContext<B>
impl<B: Clone + WriteBackendMethods> Clone for CodegenContext<B>
sourcefn clone(&self) -> CodegenContext<B>
fn clone(&self) -> CodegenContext<B>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations
impl<B> !RefUnwindSafe for CodegenContext<B>
impl<B> Send for CodegenContext<B>where
B: Send,
impl<B> !Sync for CodegenContext<B>
impl<B> Unpin for CodegenContext<B>where
B: Unpin,
impl<B> !UnwindSafe for CodegenContext<B>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn 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.