Expand description
This crate contains codegen code that is used by all codegen backends (LLVM and others). The backend-agnostic functions of this crate use functions defined in various traits that have to be implemented by each backend.
Re-exportsยง
pub(crate) use std::collections::BTreeSet;๐pub(crate) use std::io;๐pub(crate) use Path;๐pub(crate) use PathBuf;๐pub(crate) use std::sync::Arc;๐pub(crate) use rustc_abi::Size;๐pub(crate) use CfgEntry;๐pub(crate) use WindowsSubsystemKind;๐pub(crate) use rustc_crate_store as cstore;๐pub(crate) use CrateSource;๐pub(crate) use FxHashSet;๐pub(crate) use FxIndexMap;๐pub(crate) use UnordMap;๐pub(crate) use UnordSet;๐pub(crate) use rustc_hir::CRATE_HIR_ID;๐pub(crate) use rustc_hir::def_id::CrateNum;๐pub(crate) use LINKER_INFO;๐pub(crate) use LINKER_MESSAGES;๐pub(crate) use Decodable;๐pub(crate) use Encodable;๐pub(crate) use rustc_metadata::EncodedMetadata;๐pub(crate) use rustc_middle::dep_graph::WorkProduct;๐pub(crate) use rustc_middle::lint::StableLevelSpec;๐pub(crate) use rustc_middle::middle::debugger_visualizer::DebuggerVisualizerFile;๐pub(crate) use rustc_middle::middle::dependency_format::Dependencies;๐pub(crate) use rustc_middle::middle::exported_symbols::SymbolExportKind;๐pub(crate) use rustc_middle::ty::TyCtxt;๐pub(crate) use rustc_middle::util::Providers;๐pub(crate) use FileEncoder;๐pub(crate) use MemDecoder;๐pub(crate) use Decodable;๐pub(crate) use Decoder;๐pub(crate) use Encodable;๐pub(crate) use Encoder;๐pub(crate) use rustc_session::Session;๐pub(crate) use OutputFilenames;๐pub(crate) use OutputType;๐pub(crate) use Span;๐pub(crate) use Symbol;๐pub(crate) use CrateType;๐pub(crate) use NativeLibKind;๐
Modulesยง
- assert_
module_ sources - This pass is only used for UNIT TESTS related to incremental
compilation. It tests whether a particular
.ofile will be re-used from a previous compilation or whether it must be regenerated. - back
- base
- codegen_
attrs - common
- debuginfo
- diagnostics
- Errors emitted by codegen_ssa
- meth
- mir
- mono_
item - size_
of_ val - Computing the size and alignment of a value.
- target_
features - traits
- Interface of a Rust codegen backend
Structsยง
- Cached
Module ๐Codegen - Codegen
Lint Level Specs - A list of lint levels used in codegen.
- Compiled
Module - Compiled
Modules - Crate
Info - Misc info we load from metadata to persist beyond the tcx.
- EiiLinkage
Impl Info - EiiLinkage
Info - MemFlags
- This previously had an
UNALIGNEDvariant, but that should never be done via flags. If you want something to be unaligned, seemir::place::PlaceRef::unaligned. - Module
Codegen - Native
Lib - Retag
Flags - Retag
Info - Symbol
Export - A symbol to make visible from a linked artifact.
- Target
Config - Target-specific options that get set in
sess/cfg(...).
Enumsยง
Constantsยง
- RLINK_
MAGIC ๐ - RLINK_
VERSION ๐