[−][src]Module rustc_codegen_ssa::traits

Interface of a Rust codegen backend

This crate defines all the traits that have to be implemented by a codegen backend in order to use the backend-agnostic codegen code in rustc_codegen_ssa.

The interface is designed around two backend-specific data structures, the codegen context and the builder. The codegen context is supposed to be read-only after its creation and during the actual codegen, while the builder stores the information about the function during codegen and is used to produce the instructions of the backend IR.

Finally, a third Backend structure has to implement methods related to how codegen information is passed to the backend, especially for asynchronous compilation.

The traits contain associated types that are backend-specific, such as the backend's value or basic blocks.

Modules

abi
asm
backend
builder
consts
coverageinfo
debuginfo
declare
intrinsic
misc
statics
type_
write

Enums

InlineAsmOperandRef
OverflowOp

Traits

AbiBuilderMethods
ArgAbiMethods
AsmBuilderMethods
AsmMethods
Backend
BackendTypes
BaseTypeMethods
BuilderMethods
CodegenBackend
CodegenMethods
CodegenObject
ConstMethods
CoverageInfoBuilderMethods
CoverageInfoMethods
DebugInfoBuilderMethods
DebugInfoMethods
DerivedTypeMethods
ExtraBackendMethods
HasCodegen
IntrinsicCallMethods
LayoutTypeMethods
MiscMethods
ModuleBufferMethods
PreDefineMethods
StaticBuilderMethods
StaticMethods
ThinBufferMethods
TypeMethods
WriteBackendMethods