pub mod recursion_limit;
pub mod resolve_lifetime;
pub mod stability;
- pub mod trans;
pub mod weak_lang_items;
}
pub mod visit;
pub mod traversal;
pub mod interpret;
+pub mod mono;
/// Types for locals
type LocalDecls<'tcx> = IndexVec<Local, LocalDecl<'tcx>>;
use middle::stability::{self, DeprecationEntry};
use middle::lang_items::{LanguageItems, LangItem};
use middle::exported_symbols::SymbolExportLevel;
-use middle::trans::{CodegenUnit, Stats};
+use mir::mono::{CodegenUnit, Stats};
use mir;
use session::{CompileResult, CrateDisambiguator};
use session::config::OutputFilenames;
use rustc::hir::def_id::DefId;
use rustc::middle::const_val::ConstVal;
use rustc::middle::lang_items::{ExchangeMallocFnLangItem};
-use rustc::middle::trans::MonoItem;
use rustc::traits;
use rustc::ty::subst::Substs;
use rustc::ty::{self, TypeFoldable, Ty, TyCtxt};
use rustc::ty::adjustment::CustomCoerceUnsized;
use rustc::mir::{self, Location};
use rustc::mir::visit::Visitor as MirVisitor;
+use rustc::mir::mono::MonoItem;
use monomorphize::{self, Instance};
use rustc::util::nodemap::{FxHashSet, FxHashMap, DefIdMap};
use monomorphize::Instance;
use rustc::hir;
use rustc::hir::def_id::DefId;
-use rustc::middle::trans::Linkage;
use rustc::session::config::OptLevel;
use rustc::traits;
use rustc::ty::{self, Ty, TyCtxt};
use syntax::attr::{self, InlineAttr};
use std::fmt::{self, Write};
use std::iter;
-
-pub use rustc::middle::trans::MonoItem;
+use rustc::mir::mono::Linkage;
+pub use rustc::mir::mono::MonoItem;
pub fn linkage_by_name(name: &str) -> Option<Linkage> {
- use rustc::middle::trans::Linkage::*;
+ use rustc::mir::mono::Linkage::*;
// Use the names from src/llvm/docs/LangRef.rst here. Most types are only
// applicable to variable declarations and may not really make sense for
use trans_item::{BaseMonoItemExt, InstantiationMode};
use rustc::middle::weak_lang_items;
-use rustc::middle::trans::MonoItem;
+use rustc::mir::mono::MonoItem;
use rustc::hir::def_id::DefId;
use rustc::hir::map as hir_map;
use rustc::ty::{self, Ty, TyCtxt, TypeFoldable};
use metadata;
use rustc::hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
use rustc::middle::lang_items::StartFnLangItem;
-use rustc::middle::trans::{Linkage, Visibility, Stats};
-use rustc::middle::cstore::EncodedMetadata;
+use rustc::mir::mono::{Linkage, Visibility, Stats};
+use rustc::middle::cstore::{EncodedMetadata};
use rustc::ty::{self, Ty, TyCtxt};
use rustc::ty::layout::{self, Align, TyLayout, LayoutOf};
use rustc::ty::maps::Providers;
use type_of::PointeeInfo;
use rustc_data_structures::base_n;
-use rustc::middle::trans::Stats;
+use rustc::mir::mono::Stats;
use rustc_data_structures::stable_hasher::StableHashingContextProvider;
use rustc::session::config::{self, NoDebugInfo};
use rustc::session::Session;
use rustc::dep_graph::WorkProductId;
use rustc::hir::def_id::DefId;
use rustc::hir::map::DefPathData;
-use rustc::middle::trans::{Linkage, Visibility};
+use rustc::mir::mono::{Linkage, Visibility};
use rustc::ty::{self, TyCtxt, InstanceDef};
use rustc::ty::item_path::characteristic_def_id_of_type;
use rustc::util::nodemap::{FxHashMap, FxHashSet};
use syntax::symbol::{Symbol, InternedString};
use trans_item::{MonoItem, BaseMonoItemExt, MonoItemExt, InstantiationMode};
-pub use rustc::middle::trans::CodegenUnit;
+pub use rustc::mir::mono::CodegenUnit;
pub enum PartitioningStrategy {
/// Generate one codegen unit per source-level module.
use monomorphize::Instance;
use type_of::LayoutLlvmExt;
use rustc::hir;
-use rustc::middle::trans::{Linkage, Visibility};
+use rustc::mir::mono::{Linkage, Visibility};
use rustc::ty::{self, TyCtxt, TypeFoldable};
use rustc::ty::layout::LayoutOf;
use syntax::ast;
use syntax_pos::symbol::Symbol;
use std::fmt;
-pub use rustc::middle::trans::MonoItem;
+pub use rustc::mir::mono::MonoItem;
pub use rustc_mir::monomorphize::item::*;
pub use rustc_mir::monomorphize::item::MonoItemExt as BaseMonoItemExt;