Module rustc_mir::transform::const_prop[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Propagates constants for early reporting of statically known assertion failures

Re-exports

use rustc::hir::def::Def;
use rustc::mir::Constant;
use rustc::mir::Literal;
use rustc::mir::Location;
use rustc::mir::Place;
use rustc::mir::Mir;
use rustc::mir::Operand;
use rustc::mir::Rvalue;
use rustc::mir::Local;
use rustc::mir::NullOp;
use rustc::mir::StatementKind;
use rustc::mir::Statement;
use rustc::mir::BasicBlock;
use rustc::mir::LocalKind;
use rustc::mir::TerminatorKind;
use rustc::mir::ClearCrossCrate;
use rustc::mir::SourceInfo;
use rustc::mir::BinOp;
use rustc::mir::ProjectionElem;
use rustc::mir::visit::Visitor;
use rustc::mir::visit::PlaceContext;
use rustc::middle::const_val::ConstVal;
use rustc::middle::const_val::ConstEvalErr;
use rustc::middle::const_val::ErrKind;
use rustc::ty::TyCtxt;
use rustc::ty;
use rustc::ty::Instance;
use rustc::mir::interpret::Value;
use rustc::mir::interpret::Scalar;
use rustc::mir::interpret::GlobalId;
use rustc::mir::interpret::EvalResult;
use interpret::EvalContext;
use interpret::CompileTimeEvaluator;
use interpret::eval_promoted;
use interpret::mk_borrowck_eval_cx;
use interpret::ValTy;
use transform::MirPass;
use transform::MirSource;
use syntax::codemap::Span;
use syntax::codemap::DUMMY_SP;
use rustc::ty::subst::Substs;
use rustc_data_structures::indexed_vec::IndexVec;
use rustc::ty::ParamEnv;
use rustc::ty::layout::LayoutOf;
use rustc::ty::layout::TyLayout;
use rustc::ty::layout::LayoutError;
use rustc::ty::layout::HasTyCtxt;
use rustc::ty::layout::TargetDataLayout;
use rustc::ty::layout::HasDataLayout;

Structs

CanConstProp [
Experimental
]
ConstProp [
Experimental
]
ConstPropagator [
Experimental
]

Finds optimization opportunities on the MIR.

Functions

type_size_of [
Experimental
]

Type Definitions

Const [
Experimental
]