Skip to content

Commit 45f8a3b

Browse files
MaikKleinarielb1
authored andcommitted
Move partitioning.rs to rustc_mir
1 parent 116e43f commit 45f8a3b

File tree

8 files changed

+35
-34
lines changed

8 files changed

+35
-34
lines changed

src/librustc_mir/monomorphize/item.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ use syntax::attr::{self, InlineAttr};
2626
use std::fmt::{self, Write};
2727
use std::iter;
2828
use rustc::mir::mono::Linkage;
29+
use syntax_pos::symbol::Symbol;
2930
pub use rustc::mir::mono::MonoItem;
3031

3132
pub fn linkage_by_name(name: &str) -> Option<Linkage> {
@@ -83,6 +84,31 @@ pub enum InstantiationMode {
8384
pub trait MonoItemExt<'a, 'tcx>: fmt::Debug {
8485
fn as_mono_item(&self) -> &MonoItem<'tcx>;
8586

87+
fn is_generic_fn(&self) -> bool {
88+
match *self.as_mono_item() {
89+
MonoItem::Fn(ref instance) => {
90+
instance.substs.types().next().is_some()
91+
}
92+
MonoItem::Static(..) |
93+
MonoItem::GlobalAsm(..) => false,
94+
}
95+
}
96+
97+
fn symbol_name(&self, tcx: TyCtxt<'a, 'tcx, 'tcx>) -> ty::SymbolName {
98+
match *self.as_mono_item() {
99+
MonoItem::Fn(instance) => tcx.symbol_name(instance),
100+
MonoItem::Static(node_id) => {
101+
let def_id = tcx.hir.local_def_id(node_id);
102+
tcx.symbol_name(Instance::mono(tcx, def_id))
103+
}
104+
MonoItem::GlobalAsm(node_id) => {
105+
let def_id = tcx.hir.local_def_id(node_id);
106+
ty::SymbolName {
107+
name: Symbol::intern(&format!("global_asm_{:?}", def_id)).as_str()
108+
}
109+
}
110+
}
111+
}
86112
fn instantiation_mode(&self,
87113
tcx: TyCtxt<'a, 'tcx, 'tcx>)
88114
-> InstantiationMode {

src/librustc_mir/monomorphize/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ use rustc::ty::subst::Kind;
1616
use rustc::ty::{self, Ty, TyCtxt};
1717

1818
pub use rustc::ty::Instance;
19+
pub use self::item::{MonoItem, MonoItemExt};
1920

2021
pub mod collector;
2122
pub mod item;
23+
pub mod partitioning;
2224

2325
fn fn_once_adapter_instance<'a, 'tcx>(
2426
tcx: TyCtxt<'a, 'tcx, 'tcx>,

src/librustc_trans/partitioning.rs renamed to src/librustc_mir/monomorphize/partitioning.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
//! source-level module, functions from the same module will be available for
103103
//! inlining, even when they are not marked #[inline].
104104
105-
use rustc_mir::monomorphize::collector::InliningMap;
105+
use monomorphize::collector::InliningMap;
106106
use rustc::dep_graph::WorkProductId;
107107
use rustc::hir::def_id::DefId;
108108
use rustc::hir::map::DefPathData;
@@ -113,7 +113,8 @@ use rustc::util::nodemap::{FxHashMap, FxHashSet};
113113
use std::collections::hash_map::Entry;
114114
use syntax::ast::NodeId;
115115
use syntax::symbol::{Symbol, InternedString};
116-
use trans_item::{MonoItem, BaseMonoItemExt, MonoItemExt, InstantiationMode};
116+
use rustc::mir::mono::MonoItem;
117+
use monomorphize::item::{MonoItemExt, InstantiationMode};
117118
use rustc::ty::subst::Subst;
118119

119120
pub use rustc::mir::mono::CodegenUnit;

src/librustc_trans/base.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ use declare;
6464
use meth;
6565
use mir;
6666
use monomorphize::Instance;
67-
use partitioning::{self, PartitioningStrategy, CodegenUnit, CodegenUnitExt};
67+
use monomorphize::partitioning::{self, PartitioningStrategy, CodegenUnit, CodegenUnitExt};
6868
use symbol_names_test;
6969
use time_graph;
7070
use trans_item::{MonoItem, BaseMonoItemExt, MonoItemExt, DefPathBasedNames};

src/librustc_trans/consts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use rustc::hir::map as hir_map;
1616
use rustc::middle::const_val::ConstEvalErr;
1717
use debuginfo;
1818
use base;
19-
use trans_item::{MonoItem, MonoItemExt};
19+
use monomorphize::{MonoItem, MonoItemExt};
2020
use common::{CrateContext, val_ty};
2121
use declare;
2222
use monomorphize::Instance;

src/librustc_trans/context.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use base;
2222
use declare;
2323
use monomorphize::Instance;
2424

25-
use partitioning::CodegenUnit;
25+
use monomorphize::partitioning::CodegenUnit;
2626
use type_::Type;
2727
use type_of::PointeeInfo;
2828

src/librustc_trans/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ mod llvm_util;
138138
mod metadata;
139139
mod meth;
140140
mod mir;
141-
mod partitioning;
142141
mod symbol_names_test;
143142
mod time_graph;
144143
mod trans_item;

src/librustc_trans/trans_item.rs

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,11 @@ use monomorphize::Instance;
2525
use type_of::LayoutLlvmExt;
2626
use rustc::hir;
2727
use rustc::mir::mono::{Linkage, Visibility};
28-
use rustc::ty::{self, TyCtxt, TypeFoldable};
28+
use rustc::ty::{TyCtxt, TypeFoldable};
2929
use rustc::ty::layout::LayoutOf;
3030
use syntax::ast;
3131
use syntax::attr;
3232
use syntax_pos::Span;
33-
use syntax_pos::symbol::Symbol;
3433
use std::fmt;
3534

3635
pub use rustc::mir::mono::MonoItem;
@@ -108,22 +107,6 @@ pub trait MonoItemExt<'a, 'tcx>: fmt::Debug + BaseMonoItemExt<'a, 'tcx> {
108107
ccx.codegen_unit().name());
109108
}
110109

111-
fn symbol_name(&self, tcx: TyCtxt<'a, 'tcx, 'tcx>) -> ty::SymbolName {
112-
match *self.as_mono_item() {
113-
MonoItem::Fn(instance) => tcx.symbol_name(instance),
114-
MonoItem::Static(node_id) => {
115-
let def_id = tcx.hir.local_def_id(node_id);
116-
tcx.symbol_name(Instance::mono(tcx, def_id))
117-
}
118-
MonoItem::GlobalAsm(node_id) => {
119-
let def_id = tcx.hir.local_def_id(node_id);
120-
ty::SymbolName {
121-
name: Symbol::intern(&format!("global_asm_{:?}", def_id)).as_str()
122-
}
123-
}
124-
}
125-
}
126-
127110
fn local_span(&self, tcx: TyCtxt<'a, 'tcx, 'tcx>) -> Option<Span> {
128111
match *self.as_mono_item() {
129112
MonoItem::Fn(Instance { def, .. }) => {
@@ -136,16 +119,6 @@ pub trait MonoItemExt<'a, 'tcx>: fmt::Debug + BaseMonoItemExt<'a, 'tcx> {
136119
}.map(|node_id| tcx.hir.span(node_id))
137120
}
138121

139-
fn is_generic_fn(&self) -> bool {
140-
match *self.as_mono_item() {
141-
MonoItem::Fn(ref instance) => {
142-
instance.substs.types().next().is_some()
143-
}
144-
MonoItem::Static(..) |
145-
MonoItem::GlobalAsm(..) => false,
146-
}
147-
}
148-
149122
fn to_raw_string(&self) -> String {
150123
match *self.as_mono_item() {
151124
MonoItem::Fn(instance) => {

0 commit comments

Comments
 (0)