summary refs log tree commit diff
path: root/src/librustc_incremental
AgeCommit message (Collapse)AuthorLines
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
2016-11-29Split nested_visit_mode function off from nested_visit_mapFlorian Diebold-2/+4
... and make the latter mandatory to implement.
2016-11-29Add make tidy fixesFlorian Diebold-1/+4
2016-11-29Give function bodies their own dep graph nodeFlorian Diebold-17/+43
2016-11-29rustc_incremental: fix compilationFlorian Diebold-12/+0
2016-11-29rustc_incremental: fix compilationFlorian Diebold-0/+12
2016-11-28rustc: embed path resolutions into the HIR instead of keeping DefMap.Eduard-Mihai Burtescu-13/+7
2016-11-28rustc: desugar `use a::{b,c};` into `use a::b; use a::c;` in HIR.Eduard-Mihai Burtescu-11/+2
2016-11-28rustc: desugar UFCS as much as possible during HIR lowering.Eduard Burtescu-4/+12
2016-11-21Implement the `loop_break_value` feature.Geoffry Song-2/+2
This implements RFC 1624, tracking issue #37339. - `FnCtxt` (in typeck) gets a stack of `LoopCtxt`s, which store the currently deduced type of that loop, the desired type, and a list of break expressions currently seen. `loop` loops get a fresh type variable as their initial type (this logic is stolen from that for arrays). `while` loops get `()`. - `break {expr}` looks up the broken loop, and unifies the type of `expr` with the type of the loop. - `break` with no expr unifies the loop's type with `()`. - When building MIR, `loop` loops no longer construct a `()` value at termination of the loop; rather, the `break` expression assigns the result of the loop. `while` loops are unchanged. - `break` respects contexts in which expressions may not end with braced blocks. That is, `while break { break-value } { while-body }` is illegal; this preserves backwards compatibility. - The RFC did not make it clear, but I chose to make `break ()` inside of a `while` loop illegal, just in case we wanted to do anything with that design space in the future. This is my first time dealing with this part of rustc so I'm sure there's plenty of problems to pick on here ^_^
2016-11-21Fix incremental compilation hashing.Jeffrey Seyfried-16/+20
2016-11-21Use `Symbol` instead of `InternedString` in the AST, HIR, and various other ↵Jeffrey Seyfried-9/+8
places.
2016-11-20Move `syntax::util::interner` -> `syntax::symbol`, cleanup.Jeffrey Seyfried-8/+9
2016-11-20Refactor `P<ast::MetaItem>` -> `ast::MetaItem`.Jeffrey Seyfried-1/+1