about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaik Klein <maikklein@googlemail.com>2017-11-23 16:02:02 +0100
committerAriel Ben-Yehuda <ariel.byd@gmail.com>2017-12-18 17:08:49 +0200
commit45f8a3b30c80b17ff78ac8d1aa14784a73ca593e (patch)
treead91df531c44678f635d446f05b56ae508db7b9c
parent116e43f73bb6e0beb5b27403ce7f0616ed5ce627 (diff)
downloadrust-45f8a3b30c80b17ff78ac8d1aa14784a73ca593e.tar.gz
rust-45f8a3b30c80b17ff78ac8d1aa14784a73ca593e.zip
Move partitioning.rs to rustc_mir
-rw-r--r--src/librustc_mir/monomorphize/item.rs26
-rw-r--r--src/librustc_mir/monomorphize/mod.rs2
-rw-r--r--src/librustc_mir/monomorphize/partitioning.rs (renamed from src/librustc_trans/partitioning.rs)5
-rw-r--r--src/librustc_trans/base.rs2
-rw-r--r--src/librustc_trans/consts.rs2
-rw-r--r--src/librustc_trans/context.rs2
-rw-r--r--src/librustc_trans/lib.rs1
-rw-r--r--src/librustc_trans/trans_item.rs29
8 files changed, 35 insertions, 34 deletions
diff --git a/src/librustc_mir/monomorphize/item.rs b/src/librustc_mir/monomorphize/item.rs
index 72efe23f77b..c3fb126ea18 100644
--- a/src/librustc_mir/monomorphize/item.rs
+++ b/src/librustc_mir/monomorphize/item.rs
@@ -26,6 +26,7 @@ use syntax::attr::{self, InlineAttr};
 use std::fmt::{self, Write};
 use std::iter;
 use rustc::mir::mono::Linkage;
+use syntax_pos::symbol::Symbol;
 pub use rustc::mir::mono::MonoItem;
 
 pub fn linkage_by_name(name: &str) -> Option<Linkage> {
@@ -83,6 +84,31 @@ pub enum InstantiationMode {
 pub trait MonoItemExt<'a, 'tcx>: fmt::Debug {
     fn as_mono_item(&self) -> &MonoItem<'tcx>;
 
+    fn is_generic_fn(&self) -> bool {
+        match *self.as_mono_item() {
+            MonoItem::Fn(ref instance) => {
+                instance.substs.types().next().is_some()
+            }
+            MonoItem::Static(..) |
+            MonoItem::GlobalAsm(..) => false,
+        }
+    }
+
+    fn symbol_name(&self, tcx: TyCtxt<'a, 'tcx, 'tcx>) -> ty::SymbolName {
+        match *self.as_mono_item() {
+            MonoItem::Fn(instance) => tcx.symbol_name(instance),
+            MonoItem::Static(node_id) => {
+                let def_id = tcx.hir.local_def_id(node_id);
+                tcx.symbol_name(Instance::mono(tcx, def_id))
+            }
+            MonoItem::GlobalAsm(node_id) => {
+                let def_id = tcx.hir.local_def_id(node_id);
+                ty::SymbolName {
+                    name: Symbol::intern(&format!("global_asm_{:?}", def_id)).as_str()
+                }
+            }
+        }
+    }
     fn instantiation_mode(&self,
                           tcx: TyCtxt<'a, 'tcx, 'tcx>)
                           -> InstantiationMode {
diff --git a/src/librustc_mir/monomorphize/mod.rs b/src/librustc_mir/monomorphize/mod.rs
index 76c9386178d..fcf0d71dccb 100644
--- a/src/librustc_mir/monomorphize/mod.rs
+++ b/src/librustc_mir/monomorphize/mod.rs
@@ -16,9 +16,11 @@ use rustc::ty::subst::Kind;
 use rustc::ty::{self, Ty, TyCtxt};
 
 pub use rustc::ty::Instance;
+pub use self::item::{MonoItem, MonoItemExt};
 
 pub mod collector;
 pub mod item;
+pub mod partitioning;
 
 fn fn_once_adapter_instance<'a, 'tcx>(
     tcx: TyCtxt<'a, 'tcx, 'tcx>,
diff --git a/src/librustc_trans/partitioning.rs b/src/librustc_mir/monomorphize/partitioning.rs
index 6897a4aa5a5..c9defe142ea 100644
--- a/src/librustc_trans/partitioning.rs
+++ b/src/librustc_mir/monomorphize/partitioning.rs
@@ -102,7 +102,7 @@
 //! source-level module, functions from the same module will be available for
 //! inlining, even when they are not marked #[inline].
 
-use rustc_mir::monomorphize::collector::InliningMap;
+use monomorphize::collector::InliningMap;
 use rustc::dep_graph::WorkProductId;
 use rustc::hir::def_id::DefId;
 use rustc::hir::map::DefPathData;
@@ -113,7 +113,8 @@ use rustc::util::nodemap::{FxHashMap, FxHashSet};
 use std::collections::hash_map::Entry;
 use syntax::ast::NodeId;
 use syntax::symbol::{Symbol, InternedString};
-use trans_item::{MonoItem, BaseMonoItemExt, MonoItemExt, InstantiationMode};
+use rustc::mir::mono::MonoItem;
+use monomorphize::item::{MonoItemExt, InstantiationMode};
 use rustc::ty::subst::Subst;
 
 pub use rustc::mir::mono::CodegenUnit;
diff --git a/src/librustc_trans/base.rs b/src/librustc_trans/base.rs
index fd470475071..79b3d314e12 100644
--- a/src/librustc_trans/base.rs
+++ b/src/librustc_trans/base.rs
@@ -64,7 +64,7 @@ use declare;
 use meth;
 use mir;
 use monomorphize::Instance;
-use partitioning::{self, PartitioningStrategy, CodegenUnit, CodegenUnitExt};
+use monomorphize::partitioning::{self, PartitioningStrategy, CodegenUnit, CodegenUnitExt};
 use symbol_names_test;
 use time_graph;
 use trans_item::{MonoItem, BaseMonoItemExt, MonoItemExt, DefPathBasedNames};
diff --git a/src/librustc_trans/consts.rs b/src/librustc_trans/consts.rs
index 226eec647a8..f9fbcebd32e 100644
--- a/src/librustc_trans/consts.rs
+++ b/src/librustc_trans/consts.rs
@@ -16,7 +16,7 @@ use rustc::hir::map as hir_map;
 use rustc::middle::const_val::ConstEvalErr;
 use debuginfo;
 use base;
-use trans_item::{MonoItem, MonoItemExt};
+use monomorphize::{MonoItem, MonoItemExt};
 use common::{CrateContext, val_ty};
 use declare;
 use monomorphize::Instance;
diff --git a/src/librustc_trans/context.rs b/src/librustc_trans/context.rs
index 5ecc3fb4ebe..d5e71062f74 100644
--- a/src/librustc_trans/context.rs
+++ b/src/librustc_trans/context.rs
@@ -22,7 +22,7 @@ use base;
 use declare;
 use monomorphize::Instance;
 
-use partitioning::CodegenUnit;
+use monomorphize::partitioning::CodegenUnit;
 use type_::Type;
 use type_of::PointeeInfo;
 
diff --git a/src/librustc_trans/lib.rs b/src/librustc_trans/lib.rs
index bf25e74de8b..c4849c621e8 100644
--- a/src/librustc_trans/lib.rs
+++ b/src/librustc_trans/lib.rs
@@ -138,7 +138,6 @@ mod llvm_util;
 mod metadata;
 mod meth;
 mod mir;
-mod partitioning;
 mod symbol_names_test;
 mod time_graph;
 mod trans_item;
diff --git a/src/librustc_trans/trans_item.rs b/src/librustc_trans/trans_item.rs
index 8270168642f..31d8e092c4a 100644
--- a/src/librustc_trans/trans_item.rs
+++ b/src/librustc_trans/trans_item.rs
@@ -25,12 +25,11 @@ use monomorphize::Instance;
 use type_of::LayoutLlvmExt;
 use rustc::hir;
 use rustc::mir::mono::{Linkage, Visibility};
-use rustc::ty::{self, TyCtxt, TypeFoldable};
+use rustc::ty::{TyCtxt, TypeFoldable};
 use rustc::ty::layout::LayoutOf;
 use syntax::ast;
 use syntax::attr;
 use syntax_pos::Span;
-use syntax_pos::symbol::Symbol;
 use std::fmt;
 
 pub use rustc::mir::mono::MonoItem;
@@ -108,22 +107,6 @@ pub trait MonoItemExt<'a, 'tcx>: fmt::Debug + BaseMonoItemExt<'a, 'tcx> {
                ccx.codegen_unit().name());
     }
 
-    fn symbol_name(&self, tcx: TyCtxt<'a, 'tcx, 'tcx>) -> ty::SymbolName {
-        match *self.as_mono_item() {
-            MonoItem::Fn(instance) => tcx.symbol_name(instance),
-            MonoItem::Static(node_id) => {
-                let def_id = tcx.hir.local_def_id(node_id);
-                tcx.symbol_name(Instance::mono(tcx, def_id))
-            }
-            MonoItem::GlobalAsm(node_id) => {
-                let def_id = tcx.hir.local_def_id(node_id);
-                ty::SymbolName {
-                    name: Symbol::intern(&format!("global_asm_{:?}", def_id)).as_str()
-                }
-            }
-        }
-    }
-
     fn local_span(&self, tcx: TyCtxt<'a, 'tcx, 'tcx>) -> Option<Span> {
         match *self.as_mono_item() {
             MonoItem::Fn(Instance { def, .. }) => {
@@ -136,16 +119,6 @@ pub trait MonoItemExt<'a, 'tcx>: fmt::Debug + BaseMonoItemExt<'a, 'tcx> {
         }.map(|node_id| tcx.hir.span(node_id))
     }
 
-    fn is_generic_fn(&self) -> bool {
-        match *self.as_mono_item() {
-            MonoItem::Fn(ref instance) => {
-                instance.substs.types().next().is_some()
-            }
-            MonoItem::Static(..) |
-            MonoItem::GlobalAsm(..) => false,
-        }
-    }
-
     fn to_raw_string(&self) -> String {
         match *self.as_mono_item() {
             MonoItem::Fn(instance) => {