about summary refs log tree commit diff
path: root/src/librustc_incremental
AgeCommit message (Collapse)AuthorLines
2017-02-22add `-C overflow-checks` optionNathan Froyd-2/+1
In addition to defining and handling the new option, we also add a method on librustc::Session for determining the necessity of overflow checks. This method provides a single point to sort out the three (!) different ways for turning on overflow checks: -C debug-assertions, -C overflow-checks, and -Z force-overflow-checks. Fixes #33134.
2017-02-17Normalize labeled and unlabeled breaksTaylor Cramer-2/+4
2017-02-15Stabilize field init shorthandest31-1/+1
Closes #37340.
2017-02-08Rollup merge of #39582 - nikomatsakis:incr-comp-issue-39569, r=michaelwoeristerCorey Farwell-35/+84
Handle the case where an intermediate node can't be recreated This solution grows the graph, but this is quite the corner case. r? @michaelwoerister
2017-02-06fix case where some edges can't be recreated by expanding the graphNiko Matsakis-35/+84
cc #39569 -- almost certainly a fix for that
2017-02-06Auto merge of #39500 - michaelwoerister:fix-ich-testing, r=nikomatsakisbors-31/+122
Let the dep-tracking test framework check that all #[rustc_dirty] attrs have been actually checked r? @nikomatsakis
2017-02-06Add comment about why the regular unused-attributes infrastructureMichael Woerister-0/+6
is not used for #[rustc_dirty]/#[rustc_clean].
2017-02-04pacify the mercilous tidy, improve cycle unit testNiko Matsakis-8/+76
2017-02-03Let the ICH testing framework check that all #[rustc_dirty] attrs have been ↵Michael Woerister-31/+116
actually checked.
2017-02-03add a comment about optimality that somehow got removedNiko Matsakis-58/+76
2017-02-03s/in_index/input_index/Niko Matsakis-7/+7
2017-02-03make dirty process O(dirty)Niko Matsakis-50/+66
The old algorithm was O(graph)
2017-01-31rewrite the predecessors code to create a reduced graphNiko Matsakis-467/+1095
The old code created a flat listing of "HIR -> WorkProduct" edges. While perfectly general, this could lead to a lot of repetition if the same HIR nodes affect many work-products. This is set to be a problem when we start to skip typeck, since we will be adding a lot more "work-product"-like nodes. The newer code uses an alternative strategy: it "reduces" the graph instead. Basically we walk the dep-graph and convert it to a DAG, where we only keep intermediate nodes if they are used by multiple work-products. This DAG does not contain the same set of nodes as the original graph, but it is guaranteed that (a) every output node is included in the graph and (b) the set of input nodes that can reach each output node is unchanged. (Input nodes are basically HIR nodes and foreign metadata; output nodes are nodes that have assocaited state which we will persist to disk in some way. These are assumed to be disjoint sets.)
2017-01-28rustc: always keep an explicit lifetime in trait objects.Eduard-Mihai Burtescu-1/+1
2017-01-27Auto merge of #39281 - michaelwoerister:make-cc-incr-comp-opt-in, r=nikomatsakisbors-13/+21
incr.comp.: Make cross-crate tracking for incr. comp. opt-in. The current implementation of cross-crate dependency tracking can cause quite long compile times and high memory usage for some crates (see #39208 for example). This PR therefore makes that part of dependency tracking optional. Incremental compilation still works, it will only have very coarse dep-tracking for upstream crates. r? @nikomatsakis
2017-01-26rustc: rename TyCtxt's `map` field to `hir`.Eduard-Mihai Burtescu-11/+11
2017-01-25rename `Tables` to `TypeckTables`Niko Matsakis-4/+4
2017-01-25merge TypeckItemBody and Tables depnodesNiko Matsakis-4/+4
2017-01-24incr.comp.: Make cross-crate tracking for incr. comp. opt-in.Michael Woerister-13/+21
2017-01-23Remove `open_span` and `close_span` from `Delimited`.Jeffrey Seyfried-4/+0
2017-01-22Remove unused `extern crate`s.Jeffrey Seyfried-3/+0
2017-01-22Warn on unused `#[macro_use]` imports.Jeffrey Seyfried-1/+1
2017-01-17Auto merge of #39109 - michaelwoerister:incr-comp-cache-cleanup, r=nikomatsakisbors-12/+45
incr.comp.: Delete orphaned work-products. The new partitioning scheme uncovered a hole in our incr. comp. cache directory garbage collection. So far, we relied on unneeded work products being deleted during the initial cache invalidation phase. However, we the new scheme, we get object files/work products that only contain code from upstream crates. Sometimes this code is not needed anymore (because all callers have been removed from the source) but because nothing that actually influences the contents of these work products had changed, we never deleted them from disk. r? @nikomatsakis
2017-01-17Rename ObjectSum into TraitObject in AST/HIRVadim Petrochenkov-1/+1
2017-01-16incr.comp.: Delete orphaned work-products.Michael Woerister-12/+45
2017-01-17AST/HIR: Merge ObjectSum and PolyTraitRefVadim Petrochenkov-2/+0
2017-01-12incr.comp.: Add some caching to Predecessors construction.Michael Woerister-9/+297
2017-01-12Add some more info to -Zincremental-infoMichael Woerister-0/+11
2017-01-08Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrcbors-1/+1
Remove not(stage0) from deny(warnings) Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2016-12-30Compilation fixesest31-0/+3
2016-12-29Remove not(stage0) from deny(warnings)Alex Crichton-1/+1
Historically this was done to accommodate bugs in lints, but there hasn't been a bug in a lint since this feature was added which the warnings affected. Let's completely purge warnings from all our stages by denying warnings in all stages. This will also assist in tracking down `stage0` code to be removed whenever we're updating the bootstrap compiler.
2016-12-28rustc: move function arguments into hir::Body.Eduard-Mihai Burtescu-2/+4
2016-12-28rustc: separate bodies for static/(associated)const and embedded constants.Eduard-Mihai Burtescu-5/+15
2016-12-28rustc: separate TraitItem from their parent Item, just like ImplItem.Eduard-Mihai Burtescu-4/+20
2016-12-28Auto merge of #38479 - michaelwoerister:extern_mod_ich, r=nikomatsakisbors-9/+27
ICH: Fix and test foreign mod hashing. r? @nikomatsakis
2016-12-24Rollup merge of #38557 - michaelwoerister:inline-asm-ich, r=nikomatsakisSteve Klabnik-3/+43
incr. comp.: Improve InlineAsm hashing and add test case r? @nikomatsakis
2016-12-22ICH: Make InlineAsm hashes stable.Michael Woerister-3/+43
2016-12-22ICH: Don't store hashes for individual foreign items.Michael Woerister-5/+0
2016-12-22Refactor how global paths are represented (for both ast and hir).Jeffrey Seyfried-2/+0
2016-12-21ICH: Fix some omissions around foreign mods in hasher.Michael Woerister-4/+27
2016-12-16Remove some more things that were only needed for inlined-HIR DefIdsMichael Woerister-5/+0
2016-12-15Use StableHasher everywhereAriel Ben-Yehuda-96/+22
The standard implementations of Hasher have architecture-dependent results when hashing integers. This causes problems when the hashes are stored within metadata - metadata written by one host architecture can't be read by another. To fix that, implement an architecture-independent StableHasher and use it in all places an architecture-independent hasher is needed. Fixes #38177.
2016-12-12incr.comp.: Avoid creating an edge to DepNode::Krate when generating ↵Michael Woerister-3/+24
debuginfo namespaces.
2016-12-09incr.comp.: Take symbol visibility into account for CGU hashes.Michael Woerister-0/+1
2016-12-03Rollup merge of #38113 - nikomatsakis:incremental-dump-hash, r=michaelwoeristerCorey Farwell-0/+28
add a `-Z incremental-dump-hash` flag This causes us to dump a bunch of has information to stdout that can be useful in tracking down incremental compilation invalidations, particularly across crates.
2016-12-03Rollup merge of #38096 - michaelwoerister:more-incremental-info, r=nikomatsakisCorey Farwell-15/+39
incr.comp.: Add more output to -Z incremental-info. Also makes sure that all output from `-Z incremental-info` is prefixed with `incremental:` for better grep-ability. r? @nikomatsakis
2016-12-01add a `-Z incremental-dump-hash` flagNiko Matsakis-0/+28
This causes us to dump a bunch of has information to stdout that can be useful in tracking down incremental compilation invalidations, particularly across crates.
2016-11-30incr.comp.: Add more output to -Z incremental-info.Michael Woerister-15/+39
2016-11-30Update the bootstrap compilerAlex Crichton-2/+0
Now that we've got a beta build, let's use it!
2016-11-29revamp `Visitor` with a single method for controlling nested visitsNiko Matsakis-5/+7