rust/src
bors eb5cb9545c Auto merge of #39424 - nikomatsakis:incr-comp-skip-typeck-3, r=mw
rewrite the predecessors code to create a reduced graph

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.)

r? @michaelwoerister

Fixes #39494
2017-02-04 18:38:56 +00:00
..
bootstrap Move test from bootstrap to compiletest 2017-02-03 11:08:20 +01:00
build_helper Build libbacktrace/jemalloc only when their timestamps are older than sources 2017-02-02 22:40:42 +03:00
ci Auto merge of #38847 - michaelwoerister:gate-on-incr-comp, r=alexcrichton 2017-01-31 06:13:05 +00:00
compiler-rt@a8fc4c169f
doc Auto merge of #39287 - wesleywiser:move_cell, r=aturon 2017-02-03 03:23:35 +00:00
driver
etc rustbuild: Start building --enable-extended 2017-01-24 14:48:03 -08:00
grammar
jemalloc@11bfb0dcf8 Update jemalloc to include various fixes for OSX 10.12 2017-01-19 09:01:52 +09:00
liballoc Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
liballoc_jemalloc Build libbacktrace/jemalloc only when their timestamps are older than sources 2017-02-02 22:40:42 +03:00
liballoc_system Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc 2017-01-08 08:22:06 +00:00
libarena Rollup merge of #38664 - apasel422:may-dangle, r=pnkfelix 2017-01-10 20:27:41 +09:00
libbacktrace
libcollections Auto merge of #39440 - F001:SpecializeCow, r=bluss 2017-02-04 10:04:06 +00:00
libcollectionstest Implement PartialEq<&[A]> for VecDeque<A>. 2017-01-28 09:38:17 -05:00
libcompiler_builtins Auto merge of #39425 - jakllsch:netbsd-a, r=alexcrichton 2017-02-04 07:29:28 +00:00
libcore Auto merge of #39399 - clarcharr:iter_rfind, r=alexcrichton 2017-02-04 04:53:53 +00:00
libcoretest Merge remote-tracking branch 'upstream/master' into format-with-capacity 2017-02-03 17:48:07 +01:00
libflate Remove not(stage0) from deny(warnings) 2016-12-29 21:07:20 -08:00
libfmt_macros Remove not(stage0) from deny(warnings) 2016-12-29 21:07:20 -08:00
libgetopts Remove not(stage0) from deny(warnings) 2016-12-29 21:07:20 -08:00
libgraphviz Remove not(stage0) from deny(warnings) 2016-12-29 21:07:20 -08:00
liblibc@7d57bdcdbb Properly ban the negation of unsigned integers in type-checking. 2017-01-03 21:48:17 +02:00
liblog Remove not(stage0) from deny(warnings) 2016-12-29 21:07:20 -08:00
libpanic_abort Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc 2017-01-08 08:22:06 +00:00
libpanic_unwind Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc 2017-01-08 08:22:06 +00:00
libproc_macro Refactor TokenStream. 2017-01-22 21:37:38 +00:00
libproc_macro_plugin Remove open_span and close_span from Delimited. 2017-01-23 06:49:06 +00:00
librand Remove specialization from Debug implementations 2017-01-20 13:10:36 +01:00
librustc Auto merge of #39434 - nikomatsakis:incr-comp-skip-typeck-2, r=eddyb 2017-02-04 12:38:13 +00:00
librustc_back Fix backtraces on i686-pc-windows-gnu by disabling FPO 2017-01-29 06:46:42 +02:00
librustc_bitflags Remove not(stage0) from deny(warnings) 2016-12-29 21:07:20 -08:00
librustc_borrowck Implement Drop for Box 2017-01-30 23:14:15 +03:00
librustc_const_eval Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
librustc_const_math Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
librustc_data_structures Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
librustc_driver Auto merge of #39402 - king6cong:master, r=nrc 2017-02-02 15:41:19 +00:00
librustc_errors store typeck lints in the TypeckTables 2017-02-02 20:38:16 -05:00
librustc_incremental pacify the mercilous tidy, improve cycle unit test 2017-02-04 06:09:19 -05:00
librustc_lint Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
librustc_llvm Remove unnecessary LLVMRustPersonalityFn binding 2017-01-26 23:49:17 +02:00
librustc_metadata Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
librustc_mir Auto merge of #39434 - nikomatsakis:incr-comp-skip-typeck-2, r=eddyb 2017-02-04 12:38:13 +00:00
librustc_passes Auto merge of #39305 - eddyb:synelide, r=nikomatsakis 2017-01-28 06:21:23 +00:00
librustc_platform_intrinsics Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc 2017-01-08 08:22:06 +00:00
librustc_plugin Remove unused extern crates. 2017-01-22 01:31:02 +00:00
librustc_privacy Remove no longer necessary ctor checks in rustc_privacy 2017-01-29 02:57:14 +03:00
librustc_resolve Improve diagnostics for inaccessible constructors 2017-01-29 02:57:14 +03:00
librustc_save_analysis save-analysis: get tables directly, accomodating them being missing 2017-01-27 07:21:06 +13:00
librustc_trans Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
librustc_typeck go back to the older model of coherence collect 2017-02-03 21:13:59 -05:00
librustdoc Create new flag to test rustdoc --test 2017-02-03 11:08:20 +01:00
libserialize Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00
libstd Rollup merge of #39506 - GuillaumeGomez:hashmap_docs, r=frewsxcv 2017-02-04 14:41:24 +01:00
libstd_unicode Implement Display for char Escape*, To*case. 2017-01-11 12:39:56 -05:00
libsyntax Auto merge of #36320 - GuillaumeGomez:rustdoc_test_info, r=alexcrichton 2017-02-04 01:32:21 +00:00
libsyntax_ext Rollup merge of #38842 - abonander:proc_macro_attribute, r=jseyfried 2017-01-20 08:34:30 -08:00
libsyntax_pos store typeck lints in the TypeckTables 2017-02-02 20:38:16 -05:00
libterm Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc 2017-01-08 08:22:06 +00:00
libtest Auto merge of #38779 - Craig-Macomber:bench, r=alexcrichton 2017-01-12 14:42:02 +00:00
libunwind Auto merge of #38679 - alexcrichton:always-deny-warnings, r=nrc 2017-01-08 08:22:06 +00:00
llvm@ceb177eeef Remove accidental submodule change. 2017-01-06 23:13:32 -05:00
rt Set correct hoedown submodule branch 2017-02-03 11:08:20 +01:00
rtstartup
rust-installer@4f99485080
rustc Fixup crate versions 2017-02-02 23:55:42 +03:00
rustllvm Remove unnecessary LLVMRustPersonalityFn binding 2017-01-26 23:49:17 +02:00
test Update run-make/issue-22131 to new rustdoc --test format 2017-02-03 11:08:20 +01:00
tools Update to last cargo version 2017-02-03 13:55:18 +01:00
vendor
Cargo.lock Auto merge of #39434 - nikomatsakis:incr-comp-skip-typeck-2, r=eddyb 2017-02-04 12:38:13 +00:00
Cargo.toml rustbuild: Add manifest generation in-tree 2017-01-25 10:57:21 -08:00
stage0.txt Bump version, upgrade bootstrap 2017-02-03 13:25:46 -08:00