Expand description
An analysis to determine which locals require allocas and which do not.
Re-exportsยง
use rustc_abi as abi;๐use rustc_abi as abi;๐use rustc_data_structures::graph::dominators::Dominators;๐use rustc_index::bit_set::DenseBitSet;๐use rustc_index::IndexSlice;๐use rustc_index::IndexVec;๐use rustc_middle::mir::visit::MutatingUseContext;๐use rustc_middle::mir::visit::NonMutatingUseContext;๐use rustc_middle::mir::visit::PlaceContext;๐use rustc_middle::mir::visit::Visitor;๐use rustc_middle::mir;๐use rustc_middle::mir::DefLocation;๐use rustc_middle::mir::Location;๐use rustc_middle::mir::TerminatorKind;๐use rustc_middle::mir::traversal;๐use rustc_middle::ty;๐use rustc_middle::ty::layout::HasTyCtxt;๐use rustc_middle::ty::layout::LayoutOf;๐use rustc_span::bug;๐use rustc_span::span_bug;๐use tracing::debug;๐use super::FunctionCx;๐use crate::traits::*;๐
Structsยง
- Local
Analyzer ๐
Enumsยง
- Cleanup
Kind ๐ - Local
Kind ๐
Functionsยง
- cleanup_
kinds ๐ - MSVC requires unwinding code to be split to a tree of funclets, where each funclet can only branch to itself or to its parent. Luckily, the code we generates matches this pattern. Recover that structure in an analyze pass.
- non_
ssa_ ๐locals