kill a bunch of one off tasks
This commit is contained in:
parent
810e0151af
commit
8388772f42
|
@ -56,21 +56,14 @@ pub enum DepNode<D: Clone + Debug> {
|
|||
WorkProduct(Arc<WorkProductId>),
|
||||
|
||||
// Represents different phases in the compiler.
|
||||
CollectLanguageItems,
|
||||
ResolveLifetimes,
|
||||
RegionResolveCrate,
|
||||
PluginRegistrar,
|
||||
StabilityIndex,
|
||||
Coherence,
|
||||
Resolve,
|
||||
EntryPoint,
|
||||
CheckEntryFn,
|
||||
CoherenceCheckTrait(D),
|
||||
CoherenceCheckImpl(D),
|
||||
CoherenceOverlapCheck(D),
|
||||
CoherenceOverlapCheckSpecial(D),
|
||||
Variance,
|
||||
UnusedTraitCheck,
|
||||
PrivacyAccessLevels(CrateNum),
|
||||
|
||||
// Represents the MIR for a fn; also used as the task node for
|
||||
|
@ -83,13 +76,10 @@ pub enum DepNode<D: Clone + Debug> {
|
|||
BorrowCheck(D),
|
||||
RvalueCheck(D),
|
||||
Reachability,
|
||||
DeadCheck,
|
||||
LateLintCheck,
|
||||
TransCrate,
|
||||
TransCrateItem(D),
|
||||
TransInlinedItem(D),
|
||||
TransWriteMetadata,
|
||||
LinkBinary,
|
||||
|
||||
// Nodes representing bits of computed IR in the tcx. Each shared
|
||||
// table in the tcx (or elsewhere) maps to one of these
|
||||
|
@ -200,24 +190,14 @@ impl<D: Clone + Debug> DepNode<D> {
|
|||
BorrowCheckKrate => Some(BorrowCheckKrate),
|
||||
MirKrate => Some(MirKrate),
|
||||
TypeckBodiesKrate => Some(TypeckBodiesKrate),
|
||||
CollectLanguageItems => Some(CollectLanguageItems),
|
||||
ResolveLifetimes => Some(ResolveLifetimes),
|
||||
RegionResolveCrate => Some(RegionResolveCrate),
|
||||
PluginRegistrar => Some(PluginRegistrar),
|
||||
StabilityIndex => Some(StabilityIndex),
|
||||
Coherence => Some(Coherence),
|
||||
Resolve => Some(Resolve),
|
||||
EntryPoint => Some(EntryPoint),
|
||||
CheckEntryFn => Some(CheckEntryFn),
|
||||
Variance => Some(Variance),
|
||||
UnusedTraitCheck => Some(UnusedTraitCheck),
|
||||
PrivacyAccessLevels(k) => Some(PrivacyAccessLevels(k)),
|
||||
Reachability => Some(Reachability),
|
||||
DeadCheck => Some(DeadCheck),
|
||||
LateLintCheck => Some(LateLintCheck),
|
||||
TransCrate => Some(TransCrate),
|
||||
TransWriteMetadata => Some(TransWriteMetadata),
|
||||
LinkBinary => Some(LinkBinary),
|
||||
|
||||
// work product names do not need to be mapped, because
|
||||
// they are always absolute.
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
// closely. The idea is that all reachable symbols are live, codes called
|
||||
// from live codes are live, and everything else is dead.
|
||||
|
||||
use dep_graph::DepNode;
|
||||
use hir::map as hir_map;
|
||||
use hir::{self, PatKind};
|
||||
use hir::intravisit::{self, Visitor, NestedVisitorMap};
|
||||
|
@ -594,7 +593,6 @@ impl<'a, 'tcx> Visitor<'tcx> for DeadVisitor<'a, 'tcx> {
|
|||
}
|
||||
|
||||
pub fn check_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
||||
let _task = tcx.dep_graph.in_task(DepNode::DeadCheck);
|
||||
let access_levels = &ty::queries::privacy_access_levels::get(tcx, DUMMY_SP, LOCAL_CRATE);
|
||||
let krate = tcx.hir.krate();
|
||||
let live_symbols = find_live(tcx, access_levels, krate);
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
// except according to those terms.
|
||||
|
||||
|
||||
use dep_graph::DepNode;
|
||||
use hir::map as hir_map;
|
||||
use hir::def_id::{CRATE_DEF_INDEX};
|
||||
use session::{config, Session};
|
||||
|
@ -57,8 +56,6 @@ impl<'a, 'tcx> ItemLikeVisitor<'tcx> for EntryContext<'a, 'tcx> {
|
|||
}
|
||||
|
||||
pub fn find_entry_point(session: &Session, hir_map: &hir_map::Map) {
|
||||
let _task = hir_map.dep_graph.in_task(DepNode::EntryPoint);
|
||||
|
||||
let any_exe = session.crate_types.borrow().iter().any(|ty| {
|
||||
*ty == config::CrateTypeExecutable
|
||||
});
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
|
||||
pub use self::LangItem::*;
|
||||
|
||||
use dep_graph::DepNode;
|
||||
use hir::map as hir_map;
|
||||
use session::Session;
|
||||
use hir::def_id::DefId;
|
||||
|
@ -236,7 +235,6 @@ pub fn extract(attrs: &[ast::Attribute]) -> Option<Symbol> {
|
|||
pub fn collect_language_items(session: &Session,
|
||||
map: &hir_map::Map)
|
||||
-> LanguageItems {
|
||||
let _task = map.dep_graph.in_task(DepNode::CollectLanguageItems);
|
||||
let krate: &hir::Crate = map.krate();
|
||||
let mut collector = LanguageItemCollector::new(session, map);
|
||||
collector.collect(krate);
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
//! used between functions, and they operate in a purely top-down
|
||||
//! way. Therefore we break lifetime name resolution into a separate pass.
|
||||
|
||||
use dep_graph::DepNode;
|
||||
use hir::map::Map;
|
||||
use session::Session;
|
||||
use hir::def::Def;
|
||||
|
@ -259,7 +258,6 @@ const ROOT_SCOPE: ScopeRef<'static> = &Scope::Root;
|
|||
pub fn krate(sess: &Session,
|
||||
hir_map: &Map)
|
||||
-> Result<NamedRegionMap, usize> {
|
||||
let _task = hir_map.dep_graph.in_task(DepNode::ResolveLifetimes);
|
||||
let krate = hir_map.krate();
|
||||
let mut map = NamedRegionMap {
|
||||
defs: NodeMap(),
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
|
||||
pub use self::StabilityLevel::*;
|
||||
|
||||
use dep_graph::DepNode;
|
||||
use hir::map as hir_map;
|
||||
use lint;
|
||||
use hir::def::Def;
|
||||
|
@ -383,7 +382,6 @@ impl<'a, 'tcx> Index<'tcx> {
|
|||
// Put the active features into a map for quick lookup
|
||||
self.active_features = active_lib_features.iter().map(|&(ref s, _)| s.clone()).collect();
|
||||
|
||||
let _task = tcx.dep_graph.in_task(DepNode::StabilityIndex);
|
||||
let krate = tcx.hir.krate();
|
||||
let mut annotator = Annotator {
|
||||
tcx: tcx,
|
||||
|
@ -397,7 +395,6 @@ impl<'a, 'tcx> Index<'tcx> {
|
|||
}
|
||||
|
||||
pub fn new(hir_map: &hir_map::Map) -> Index<'tcx> {
|
||||
let _task = hir_map.dep_graph.in_task(DepNode::StabilityIndex);
|
||||
let krate = hir_map.krate();
|
||||
|
||||
let mut is_staged_api = false;
|
||||
|
@ -662,7 +659,6 @@ pub fn check_unused_or_stable_features<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
|||
let access_levels = &ty::queries::privacy_access_levels::get(tcx, DUMMY_SP, LOCAL_CRATE);
|
||||
|
||||
if tcx.stability.borrow().staged_api[&LOCAL_CRATE] && tcx.sess.features.borrow().staged_api {
|
||||
let _task = tcx.dep_graph.in_task(DepNode::StabilityIndex);
|
||||
let krate = tcx.hir.krate();
|
||||
let mut missing = MissingStabilityAnnotations {
|
||||
tcx: tcx,
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
use rustc::dep_graph::DepNode;
|
||||
use rustc::hir::itemlikevisit::ItemLikeVisitor;
|
||||
use rustc::hir::map::Map;
|
||||
use rustc::hir;
|
||||
|
@ -16,7 +15,6 @@ use syntax::ast;
|
|||
use syntax::attr;
|
||||
|
||||
pub fn find(hir_map: &Map) -> Option<ast::NodeId> {
|
||||
let _task = hir_map.dep_graph.in_task(DepNode::PluginRegistrar);
|
||||
let krate = hir_map.krate();
|
||||
|
||||
let mut finder = Finder { registrar: None };
|
||||
|
|
|
@ -14,7 +14,6 @@ use syntax::ast;
|
|||
use syntax::attr;
|
||||
use errors;
|
||||
use syntax_pos::Span;
|
||||
use rustc::dep_graph::DepNode;
|
||||
use rustc::hir::map::Map;
|
||||
use rustc::hir::itemlikevisit::ItemLikeVisitor;
|
||||
use rustc::hir;
|
||||
|
@ -44,7 +43,6 @@ impl<'v> ItemLikeVisitor<'v> for RegistrarFinder {
|
|||
pub fn find_plugin_registrar(diagnostic: &errors::Handler,
|
||||
hir_map: &Map)
|
||||
-> Option<ast::NodeId> {
|
||||
let _task = hir_map.dep_graph.in_task(DepNode::PluginRegistrar);
|
||||
let krate = hir_map.krate();
|
||||
|
||||
let mut finder = RegistrarFinder { registrars: Vec::new() };
|
||||
|
|
|
@ -192,8 +192,6 @@ pub fn link_binary(sess: &Session,
|
|||
trans: &CrateTranslation,
|
||||
outputs: &OutputFilenames,
|
||||
crate_name: &str) -> Vec<PathBuf> {
|
||||
let _task = sess.dep_graph.in_task(DepNode::LinkBinary);
|
||||
|
||||
let mut out_filenames = Vec::new();
|
||||
for &crate_type in sess.crate_types.borrow().iter() {
|
||||
// Ignore executable crates if we have -Z no-trans, as they will error.
|
||||
|
|
|
@ -38,7 +38,7 @@ use rustc::hir::def_id::LOCAL_CRATE;
|
|||
use middle::lang_items::StartFnLangItem;
|
||||
use middle::cstore::EncodedMetadata;
|
||||
use rustc::ty::{self, Ty, TyCtxt};
|
||||
use rustc::dep_graph::{AssertDepGraphSafe, DepNode};
|
||||
use rustc::dep_graph::AssertDepGraphSafe;
|
||||
use rustc::middle::cstore::LinkMeta;
|
||||
use rustc::hir::map as hir_map;
|
||||
use rustc::util::common::time;
|
||||
|
@ -1057,8 +1057,6 @@ pub fn trans_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
|
|||
analysis: ty::CrateAnalysis,
|
||||
incremental_hashes_map: &IncrementalHashesMap)
|
||||
-> CrateTranslation {
|
||||
let _task = tcx.dep_graph.in_task(DepNode::TransCrate);
|
||||
|
||||
// Be careful with this krate: obviously it gives access to the
|
||||
// entire contents of the krate. So if you push any subtasks of
|
||||
// `TransCrate`, you need to be careful to register "reads" of the
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
// except according to those terms.
|
||||
|
||||
use lint;
|
||||
use rustc::dep_graph::DepNode;
|
||||
use rustc::ty::TyCtxt;
|
||||
|
||||
use syntax::ast;
|
||||
|
@ -62,8 +61,6 @@ impl<'a, 'tcx, 'v> ItemLikeVisitor<'v> for CheckVisitor<'a, 'tcx> {
|
|||
}
|
||||
|
||||
pub fn check_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
||||
let _task = tcx.dep_graph.in_task(DepNode::UnusedTraitCheck);
|
||||
|
||||
let mut used_trait_imports = DefIdSet();
|
||||
for &body_id in tcx.hir.krate().bodies.keys() {
|
||||
let item_id = tcx.hir.body_owner(body_id);
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
use hir::def_id::{CrateNum, DefId, LOCAL_CRATE};
|
||||
use rustc::ty::{self, TyCtxt, TypeFoldable};
|
||||
use rustc::ty::maps::Providers;
|
||||
use rustc::dep_graph::DepNode;
|
||||
|
||||
use syntax::ast;
|
||||
use syntax_pos::DUMMY_SP;
|
||||
|
@ -132,7 +131,6 @@ fn coherent_trait<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
|
|||
}
|
||||
|
||||
pub fn check_coherence<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
||||
let _task = tcx.dep_graph.in_task(DepNode::Coherence);
|
||||
for &trait_def_id in tcx.hir.krate().trait_impls.keys() {
|
||||
ty::queries::coherent_trait::get(tcx, DUMMY_SP, (LOCAL_CRATE, trait_def_id));
|
||||
}
|
||||
|
|
|
@ -104,7 +104,6 @@ pub use rustc::middle;
|
|||
pub use rustc::session;
|
||||
pub use rustc::util;
|
||||
|
||||
use dep_graph::DepNode;
|
||||
use hir::map as hir_map;
|
||||
use rustc::infer::InferOk;
|
||||
use rustc::ty::subst::Substs;
|
||||
|
@ -273,7 +272,6 @@ fn check_start_fn_ty<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
|
|||
}
|
||||
|
||||
fn check_for_entry_fn<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
|
||||
let _task = tcx.dep_graph.in_task(DepNode::CheckEntryFn);
|
||||
if let Some((id, sp)) = *tcx.sess.entry_fn.borrow() {
|
||||
match tcx.sess.entry_type.get() {
|
||||
Some(config::EntryMain) => check_main_fn_ty(tcx, id, sp),
|
||||
|
|
Loading…
Reference in New Issue