Expand description
A constant propagation optimization pass based on dataflow analysis.
Currently, this pass only propagates scalar values.
Re-exportsยง
use std::assert_matches;๐use std::fmt::Formatter;๐use rustc_abi::BackendRepr;๐use rustc_abi::FIRST_VARIANT;๐use rustc_abi::FieldIdx;๐use rustc_abi::Size;๐use rustc_abi::VariantIdx;๐use rustc_const_eval::const_eval::DummyMachine;๐use rustc_const_eval::const_eval::throw_machine_stop_str;๐use rustc_const_eval::interpret::ImmTy;๐use rustc_const_eval::interpret::Immediate;๐use rustc_const_eval::interpret::InterpCx;๐use rustc_const_eval::interpret::OpTy;๐use rustc_const_eval::interpret::PlaceTy;๐use rustc_const_eval::interpret::Projectable;๐use rustc_const_eval::interpret::interp_ok;๐use rustc_data_structures::fx::FxHashMap;๐use rustc_hir::def::DefKind;๐use rustc_middle::mir::interpret::InterpResult;๐use rustc_middle::mir::interpret::Scalar;๐use rustc_middle::mir::visit::MutVisitor;๐use rustc_middle::mir::visit::PlaceContext;๐use rustc_middle::mir::visit::Visitor;๐use rustc_middle::ty;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_mir_dataflow::fmt::DebugWithContext;๐use rustc_mir_dataflow::lattice::FlatSet;๐use rustc_mir_dataflow::lattice::HasBottom;๐use rustc_mir_dataflow::value_analysis::Map;๐use rustc_mir_dataflow::value_analysis::PlaceCollectionMode;๐use rustc_mir_dataflow::value_analysis::PlaceIndex;๐use rustc_mir_dataflow::value_analysis::State;๐use rustc_mir_dataflow::value_analysis::TrackElem;๐use rustc_mir_dataflow::value_analysis::ValueOrPlace;๐use rustc_mir_dataflow::value_analysis::debug_with_context;๐use rustc_mir_dataflow::Analysis;๐use rustc_mir_dataflow::ResultsVisitor;๐use rustc_mir_dataflow::visit_results;๐use rustc_span::DUMMY_SP;๐use rustc_span::bug;๐use tracing::debug;๐use tracing::debug_span;๐use tracing::instrument;๐use tracing::instrument;๐use crate::PassPolicy;๐use rustc_middle::mir::*;๐
Structsยง
- Collector ๐
- Const
Analysis ๐ - Dataflow
Const ๐Prop - Operand
Collector ๐ - Patch ๐
Constantsยง
- BLOCK_
LIMIT ๐ - PLACE_
LIMIT ๐
Functionsยง
- propagatable_
scalar ๐ - try_
write_ ๐constant