Re-exportsΒ§
use std::iter;πuse rustc_index::IndexVec;πuse rustc_index::bit_set::DenseBitSet;πuse rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags;πuse rustc_middle::mir;πuse rustc_middle::mir::Body;πuse rustc_middle::mir::Local;πuse rustc_middle::mir::UnwindTerminateReason;πuse rustc_middle::mir::traversal;πuse rustc_middle::ty::layout::FnAbiOf;πuse rustc_middle::ty::layout::HasTyCtxt;πuse rustc_middle::ty::layout::HasTypingEnv;πuse rustc_middle::ty::layout::TyAndLayout;πuse rustc_middle::ty;πuse rustc_middle::ty::Instance;πuse rustc_middle::ty::Ty;πuse rustc_middle::ty::TyCtxt;πuse rustc_middle::ty::TypeFoldable;πuse rustc_middle::ty::TypeVisitableExt;πuse rustc_span::ErrorGuaranteed;πuse rustc_span::bug;πuse rustc_span::span_bug;πuse rustc_target::callconv::FnAbi;πuse rustc_target::callconv::IndirectMode;πuse rustc_target::callconv::PassMode;πuse tracing::debug;πuse tracing::instrument;πuse tracing::instrument;πuse crate::base;πpub use self::block::store_cast;use self::debuginfo::FunctionDebugContext;πuse self::debuginfo::PerLocalVarDebugInfo;πuse self::operand::OperandRef;πuse self::operand::OperandValue;πuse self::place::PlaceRef;πuse crate::traits::*;π
ModulesΒ§
- analyze π
- An analysis to determine which locals require allocas and which do not.
- block π
- constant π
- coverageinfo π
- debuginfo
- intrinsic π
- locals π
- Locals are in a private module as updating
LocalRef::Operandhas to be careful wrt to subtyping. To deal with this we only allow updates by usingFunctionCx::overwrite_localwhich handles it automatically. - naked_
asm - operand
- place
- retag π
- Experimental support for emitting retags as function calls in generated code.
- rvalue π
- statement π
StructsΒ§
- Function
Cx - Master context for codegenning from MIR.
EnumsΒ§
- Cached
Llbb π - Intrinsic
Result - Local
Ref π
FunctionsΒ§
- arg_
local_ πrefs - Produces, for each argument, a
Valuepointing at the argumentβs value. As arguments are places, these are always indirect. - codegen_
mir - find_
cold_ πblocks - optimize_
use_ πclone - Replace
clonecalls that come fromusestatements with direct copies if possible.