rust/src
bors 9a140454ea Auto merge of #33476 - nikomatsakis:incr-comp-xcrate, r=mw
track incr. comp. dependencies across crates

This PR refactors the compiler's incremental compilation hashing so that it can track dependencies across crates. The main bits are:

- computing a hash representing the metadata for an item we are emitting
  - we do this by making `MetaData(X)` be the current task while computing metadata for an item
  - this naturally registers reads from any tables and things that we read for that purpose
  - we can then hash all the inputs to those tables
- tracking when we access metadata
  - we do this by registering a read of `MetaData(X)` for each foreign item `X` whose metadata we read
- hashing metadata from foreign items
  - we do this by loading up metadata from a file in the incr. comp. directory
  - if there is no file, we use the SVH for the entire crate

There is one very simple test only at this point. The next PR will be focused on expanding out the tests.

Note that this is based on top of https://github.com/rust-lang/rust/pull/33228

r? @michaelwoerister
2016-05-18 08:47:53 -07:00
..
bootstrap check check-ui and check-incremental in check 2016-05-13 15:23:20 -07:00
build_helper whoops 2016-04-04 21:14:15 +10:00
compiler-rt@57315f7e07 update compiler-rt submodule 2016-03-15 22:32:38 -05:00
doc Update link to license 2016-05-15 19:59:45 +03:00
driver
etc Auto merge of #33612 - royalstream:royalstream-enc-enum-ptr, r=michaelwoerister 2016-05-15 05:26:50 -07:00
grammar
jemalloc@aab1c0a0e0
liballoc Rollup merge of #33590 - durka:patch-22, r=aturon 2016-05-15 20:13:43 +05:30
liballoc_jemalloc rustbuild: Tighten dependencies of build scripts 2016-05-10 23:41:19 -07:00
liballoc_system rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
libarena
libbacktrace
libcollections Rollup merge of #33635 - tshepang:capitalise, r=steveklabnik 2016-05-16 02:00:20 +03:00
libcollectionstest Utilize Result::unwrap_err in more places. 2016-05-09 08:40:57 -04:00
libcore Auto merge of #33429 - ranma42:fix-x87-parsing, r=alexcrichton 2016-05-16 09:46:09 -07:00
libcoretest Rollup merge of #33426 - sfackler:try-from, r=aturon 2016-05-08 07:02:22 -07:00
libflate rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
libfmt_macros
libgetopts std: Stabilize APIs for the 1.9 release 2016-04-11 08:57:53 -07:00
libgraphviz sprinkle feature gates here and there 2016-03-22 22:02:47 -05:00
liblibc@6598e2cbfd Update libc to bring in updates for android's aarch64. 2016-05-15 11:57:19 +03:00
liblog
libpanic_abort rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
libpanic_unwind rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
librand rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
librbml std: Stabilize APIs for the 1.9 release 2016-04-11 08:57:53 -07:00
librustc Auto merge of #33476 - nikomatsakis:incr-comp-xcrate, r=mw 2016-05-18 08:47:53 -07:00
librustc_back Auto merge of #33651 - Nercury:update-i686-android-target-to-match-abi, r=alexcrichton 2016-05-16 22:35:00 -07:00
librustc_bitflags rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
librustc_borrowck Auto merge of #33710 - Manishearth:rollup, r=Manishearth 2016-05-18 05:04:26 -07:00
librustc_const_eval Remove hir::Ident 2016-05-16 22:25:08 +03:00
librustc_const_math don't report bitshift overflow twice 2016-04-26 14:10:07 +02:00
librustc_data_structures identify inputs of MetaData(X) nodes 2016-05-18 10:11:35 -04:00
librustc_driver ignore dep-graph in resolve and lower_crate 2016-05-18 10:11:35 -04:00
librustc_incremental nit: cache crate-hash for next time 2016-05-18 10:11:36 -04:00
librustc_lint Auto merge of #33654 - petrochenkov:hirident, r=nrc 2016-05-18 00:27:49 -07:00
librustc_llvm Add opt-level options for optimizing for size and minimum size. This attempts 2016-04-28 23:08:30 -07:00
librustc_metadata allow retracing paths across crates 2016-05-18 10:11:36 -04:00
librustc_mir Remove hir::Ident 2016-05-16 22:25:08 +03:00
librustc_passes rustc: Split local type contexts interners from the global one. 2016-05-11 04:14:58 +03:00
librustc_platform_intrinsics rustc_platform_intrinsics: remove unused rustc dependency. 2016-03-29 19:36:01 +03:00
librustc_plugin Remove the MacroVisitor pass. 2016-04-22 01:40:33 +02:00
librustc_privacy Remove ExplicitSelf from HIR 2016-05-14 13:26:40 +03:00
librustc_resolve ignore dep-graph in resolve and lower_crate 2016-05-18 10:11:35 -04:00
librustc_save_analysis save-analysis: make DefIds prettier 2016-05-13 12:23:41 -07:00
librustc_trans add task for linking 2016-05-18 10:11:36 -04:00
librustc_typeck Auto merge of #33654 - petrochenkov:hirident, r=nrc 2016-05-18 00:27:49 -07:00
librustc_unicode std: Stabilize APIs for the 1.9 release 2016-04-11 08:57:53 -07:00
librustdoc Auto merge of #33476 - nikomatsakis:incr-comp-xcrate, r=mw 2016-05-18 08:47:53 -07:00
libserialize Utilize Result::unwrap_err in more places. 2016-05-09 08:40:57 -04:00
libstd Auto merge of #33665 - golddranks:thread-park-add-big-picture-explanation, r=aturon 2016-05-17 13:11:57 -07:00
libsyntax Auto merge of #33654 - petrochenkov:hirident, r=nrc 2016-05-18 00:27:49 -07:00
libsyntax_ext Rollup merge of #33666 - xen0n:no-more-nest-levels, r=nikomatsakis 2016-05-18 14:07:45 +05:30
libterm Utilize Result::unwrap_err in more places. 2016-05-09 08:40:57 -04:00
libtest rustc: Implement custom panic runtimes 2016-05-09 08:22:36 -07:00
libunwind rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
llvm@a73c41e7f1 rustc: Use C++ personalities on MSVC 2016-05-09 17:28:48 -07:00
rt Handle integer-extending for C ABI 2016-04-04 22:14:10 +02:00
rtstartup Revert "workarounds to make link guards work on windows" 2016-03-25 14:07:20 -04:00
rust-installer@c37d3747da
rustc rustbuild: Add support for crate tests + doctests 2016-05-12 08:52:20 -07:00
rustllvm rustc: Use C++ personalities on MSVC 2016-05-09 17:28:48 -07:00
test basic tests for cross-crate hashing 2016-05-18 10:11:36 -04:00
tools pass revision and incr_comp directory to auxbuild 2016-05-18 10:11:35 -04:00
stage0.txt mk: Bootstrap from stable instead of snapshots 2016-04-19 10:56:49 -07:00