about summary refs log tree commit diff
path: root/compiler/rustc_query_system
AgeCommit message (Collapse)AuthorLines
2021-05-15Refactor try_mark_previous_green.Camille GILLOT-117/+112
2021-05-15Move key recovering into force_query.Camille GILLOT-16/+37
2021-05-10Show nicer error when an 'unstable fingerprints' error occursAaron Hill-7/+13
2021-05-06Auto merge of #84806 - Mark-Simulacrum:try-start-entry, r=cjgillotbors-101/+111
Streamline try_start code This shifts some branches around and avoids interleaving parallel and non-parallel versions of the function too much.
2021-05-02Streamline try_start codeMark Rousskov-101/+111
This shifts some branches around and avoids interleaving parallel and non-parallel versions of the function too much.
2021-05-01Avoid generating QueryMap::extend for each key typeMark Rousskov-8/+5
2021-04-29Move iter_results to dyn FnMut rather than a genericMark Rousskov-21/+20
This means that we're no longer generating the iteration/locking code for each invocation site of iter_results, rather just once per query. This is a 15% win in instruction counts when compiling the rustc_query_impl crate.
2021-04-18fix feature use in rustc libsRalf Jung-1/+0
2021-04-08Fix outdated crate names in compiler docspierwill-1/+1
Changes `librustc_X` to `rustc_X`, only in documentation comments. Plain code comments are left unchanged. Also fix incorrect file paths.
2021-03-31Enable debugging the dep-graph without debug-assertions.Camille GILLOT-9/+5
It may also be useful in these cases, and some CI configurations test without debug assertions.
2021-03-30Also profile finishing the encoding.Camille GILLOT-3/+8
2021-03-30Adjust profiling.Camille GILLOT-13/+37
2021-03-30Address review.Camille GILLOT-49/+43
2021-03-30Add documentation.Camille GILLOT-0/+12
2021-03-30Simplify tracking the encoder state.Camille GILLOT-80/+72
2021-03-30Remove the parallel version.Camille GILLOT-135/+13
2021-03-30Fix parallel compiler.Camille GILLOT-1/+3
2021-03-30Fix tests.Camille GILLOT-5/+21
Avoid invoking queries inside `check_paths`, since we are holding a lock to the reconstructed graph.
2021-03-30Do not allocate in decoder.Camille GILLOT-24/+34
2021-03-30Stream the dep-graph to a file.Camille GILLOT-839/+580
2021-03-27Remove (lots of) dead codeJoshua Nelson-19/+3
Found with https://github.com/est31/warnalyzer. Dubious changes: - Is anyone else using rustc_apfloat? I feel weird completely deleting x87 support. - Maybe some of the dead code in rustc_data_structures, in case someone wants to use it in the future? - Don't change rustc_serialize I plan to scrap most of the json module in the near future (see https://github.com/rust-lang/compiler-team/issues/418) and fixing the tests needed more work than I expected. TODO: check if any of the comments on the deleted code should be kept.
2021-03-26Use iter::zip in compiler/Josh Stone-2/+3
2021-03-19Debug-print result when an unstable fingerprint is detectedAaron Hill-1/+1
2021-03-15Auto merge of #82999 - cuviper:rustc-rayon-0.3.1, r=Mark-Simulacrumbors-1/+1
Update to rustc-rayon 0.3.1 This pulls in rust-lang/rustc-rayon#8 to fix #81425. (h/t `@ammaraskar)` That revealed weak constraints on `rustc_arena::DropArena`, because its `DropType` was holding type-erased raw pointers to generic `T`. We can implement `Send` for `DropType` (under `cfg(parallel_compiler)`) by requiring all `T: Send` before they're type-erased.
2021-03-13Auto merge of #83007 - Aaron1011:incr-verify-default, r=Mark-Simulacrumbors-11/+18
Turn `-Z incremental-verify-ich` on by default Issue #82920 showed that the kind of bugs caught by this flag have soundness implications.
2021-03-13Always run `incremental_verify_ich` when re-computing query resultsAaron Hill-11/+18
Issue #82920 showed that the kind of bugs caught by this flag have soundness implications. This causes performance regressions of up to 15.2% during incremental compilation, but this is necessary to catch miscompilations caused by bugs in query implementations.
2021-03-12rustc_query_system: simplify QueryCache::iterTyson Nottingham-22/+17
Minor cleanup to reduce a small amount of complexity and code bloat. Reduces the number of mono items in rustc_query_impl by 15%.
2021-03-10Update to rustc-rayon 0.3.1Josh Stone-1/+1
This pulls in rust-lang/rustc-rayon#8 to fix #81425. (h/t @ammaraskar) That revealed weak constraints on `rustc_arena::DropArena`, because its `DropType` was holding type-erased raw pointers to generic `T`. We can implement `Send` for `DropType` (under `cfg(parallel_compiler)`) by requiring all `T: Send` before they're type-erased.
2021-02-21Simplify hashing.Camille GILLOT-33/+24
2021-02-20Move print_query_stack to rustc_query_system.Camille GILLOT-5/+43
2021-02-20Move report_cycle to rustc_query_system.Camille GILLOT-7/+47
The call to `ty::print::with_forced_impl_filename_line` is done when constructing the description, at the construction of the QueryStackFrame.
2021-02-20Move Query to rustc_query_system.Camille GILLOT-95/+124
Rename it to QueryStackFrame and document a bit.
2021-02-20Do not hold query key in Query.Camille GILLOT-4/+7
2021-02-20Access the session directly from DepContext.Camille GILLOT-17/+13
2021-02-19Use a QueryContext for try_mark_green.Camille GILLOT-40/+35
2021-02-19Move try_load_from_on_disk_cache to the QueryContext.Camille GILLOT-6/+8
2021-02-19Decouple QueryContext from DepContext.Camille GILLOT-51/+85
2021-02-19Remove QueryAccessors::to_dep_node.Camille GILLOT-7/+0
2021-02-19Don't require a QueryContext to access the DepGraph.Camille GILLOT-9/+8
2021-02-18Print -Ztime-passes (and misc stats/logs) on stderr, not stdout.Eduard-Mihai Burtescu-14/+14
2021-02-16Inline try_get_cachedTomasz Miąsko-0/+1
2021-02-15Auto merge of #81855 - cjgillot:ensure-cache, r=oli-obkbors-190/+218
Check the result cache before the DepGraph when ensuring queries Split out of https://github.com/rust-lang/rust/pull/70951 Calling `ensure` on already forced queries is a common operation. Looking at the results cache first is faster than checking the DepGraph for a green node.
2021-02-14bumped smallvec depsklensy-1/+1
2021-02-13Check query cache before calling into the query engine.Camille GILLOT-17/+35
2021-02-13Drop the cache lock earlier.Camille GILLOT-16/+17
2021-02-13Separate the query cache from the query state.Camille GILLOT-100/+130
2021-02-13Return a Result for query cache.Camille GILLOT-87/+68
2021-02-13Merge {get,ensure}_query.Camille GILLOT-24/+22
2021-02-09Auto merge of #81892 - jyn514:no-inline, r=cjgillotbors-10/+0
[experiment] remove `#[inline]` from rustc_query_system::plumbing These functions have a ton of generic parameters and are instantiated over and over again. Hopefully this will reduce binary bloat and speed up bootstrapping times. r? `@cjgillot`
2021-02-08Switch query descriptions to just StringMark Rousskov-2/+1
In practice we never used the borrowed variant anyway.