Skip to main content

Crate rustc_codegen_ssa

Crate rustc_codegen_ssa 

Source
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 .o file 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ยง

CachedModuleCodegen ๐Ÿ”’
CodegenLintLevelSpecs
A list of lint levels used in codegen.
CompiledModule
CompiledModules
CrateInfo
Misc info we load from metadata to persist beyond the tcx.
EiiLinkageImplInfo
EiiLinkageInfo
MemFlags
This previously had an UNALIGNED variant, but that should never be done via flags. If you want something to be unaligned, see mir::place::PlaceRef::unaligned.
ModuleCodegen
NativeLib
RetagFlags
RetagInfo
SymbolExport
A symbol to make visible from a linked artifact.
TargetConfig
Target-specific options that get set in sess/cfg(...).

Enumsยง

CodegenError
ModuleKind

Constantsยง

RLINK_MAGIC ๐Ÿ”’
RLINK_VERSION ๐Ÿ”’

Functionsยง

provide