about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/dep_graph
AgeCommit message (Collapse)AuthorLines
2021-10-06Query the fingerprint style during key reconstructionMark Rousskov-36/+40
Keys can be reconstructed from fingerprints that are not DefPathHash, but then we cannot extract a DefId from them.
2021-10-05Auto merge of #89266 - cjgillot:session-ich, r=michaelwoeristerbors-3/+2
Move ICH to rustc_query_system Based on https://github.com/rust-lang/rust/pull/89183 The StableHashingContext does not need to be in rustc_middle. This PR moves it to rustc_query_system. This will avoid a dependency between rustc_ast_lowering and rustc_middle in https://github.com/rust-lang/rust/pull/89124.
2021-10-03Access StableHashingContext in rustc_query_system.Camille GILLOT-2/+1
2021-10-03Remove re-export.Camille GILLOT-1/+1
2021-10-02Prevent macro ambiguity errorsbjorn3-2/+2
The previous macro_rules! parsers failed when an additional modifier was added with ambiguity errors. The error is pretty unclear as to what exactly the cause here is, but this change simplifies the argument parsing code such that the error is avoided.
2021-09-14Make DefPathHash->DefId panic for if the mapping fails.Michael Woerister-1/+5
We only use this mapping for cases where we know that it must succeed. Letting it panic otherwise makes it harder to use the API in unsupported ways.
2021-09-14Remove RawDefId tracking infrastructure from incr. comp. framework.Michael Woerister-17/+2
This infrastructure is obsolete now with the new encoding scheme for the DefPathHash->DefIndex maps in crate metadata.
2021-06-04Fix rebase falloutAaron Hill-1/+1
2021-06-02Restrict access to crate_name.Camille GILLOT-1/+1
Also remove original_crate_name, which had the exact same implementation
2021-06-01Make is_private_dep a query.Camille GILLOT-1/+1
2021-06-01Revert "Reduce the amount of untracked state in TyCtxt"Camille Gillot-1/+1
2021-05-30Make allocator_kind a query.Camille GILLOT-1/+1
2021-05-30Restrict access to crate_name.Camille GILLOT-1/+1
Also remove original_crate_name, which had the exact same implementation
2021-05-30Make resolutions a query.Camille GILLOT-1/+1
2021-05-30Merge CrateDisambiguator into StableCrateIdbjorn3-1/+1
2021-05-27Rollup merge of #85583 - cjgillot:no-previous-dg, r=petrochenkovDylan DPC-1/+0
Get rid of PreviousDepGraph. Its only role is to access the `SerializedDepGraph`.
2021-05-22Make THIR building a stealable queryLeSeulArtichaut-1/+1
2021-05-22Get rid of PreviousDepGraph.Camille GILLOT-1/+0
2021-04-12Introduce CompileMonoItem DepNodebjorn3-9/+29
2021-03-30Stream the dep-graph to a file.Camille GILLOT-2/+3
2021-02-20Access the session directly from DepContext.Camille GILLOT-8/+7
2021-02-19Split DepKindStruct in two.Camille GILLOT-101/+8
2021-02-19Use QueryCtxt in DepKindStruct.Camille GILLOT-9/+4
2021-02-19Use a QueryContext for try_mark_green.Camille GILLOT-96/+1
2021-02-19Move try_load_from_on_disk_cache to the QueryContext.Camille GILLOT-9/+4
2021-02-19Make QueryEngine opaque to TyCtxt.Camille GILLOT-2/+3
2021-02-19Wrap TyCtxt inside a QueryCtxt for queries.Camille GILLOT-2/+3
2021-02-19Decouple the on-disk cache from the query engine.Camille GILLOT-10/+6
2021-02-19Don't require a QueryContext to access the DepGraph.Camille GILLOT-0/+5
2021-01-22Edit rustc_middle::dep_graph module documentationpierwill-7/+10
Co-authored-by: Joshua Nelson <joshua@yottadb.com> Co-authored-by: Camelid <camelidcamel@gmail.com>
2021-01-15Auto merge of #80602 - tgnottingham:cratemetadata_you_aint_special, ↵bors-27/+2
r=michaelwoerister Remove DepKind::CrateMetadata and pre-allocation of DepNodes Remove much of the special-case handling around crate metadata dependency tracking by replacing `DepKind::CrateMetadata` and the pre-allocation of corresponding `DepNodes` with on-demand invocation of the `crate_hash` query.
2021-01-12Remove DepKind::CrateMetadata and pre-allocation of DepNodesTyson Nottingham-27/+2
Remove much of the special-case handling around crate metadata dependency tracking by replacing `DepKind::CrateMetadata` and the pre-allocation of corresponding `DepNodes` with on-demand invocation of the `crate_hash` query.
2021-01-08Get rid of `DepConstructor`Joshua Nelson-33/+15
This removes fully 235 unused functions.
2021-01-08Check is_anon outside of can_reconstruct_query_key.Camille GILLOT-2/+9
2021-01-08Make DepConstructor a module.Camille GILLOT-7/+7
2021-01-08Make force_from_dep_node a function pointer.Camille GILLOT-3/+89
2021-01-08Make try_load_from_on_disk_cache a function pointer.Camille GILLOT-3/+31
2021-01-08Make can_reconstruct_query_key a function pointer.Camille GILLOT-35/+61
2021-01-08Use a field for has_params.Camille GILLOT-25/+17
2021-01-08Use a field for is_eval_always.Camille GILLOT-13/+14
2021-01-08Use a field for is_anon.Camille GILLOT-18/+18
2021-01-08Use a side-table of consts instead of matching on the DepKind enum.Camille GILLOT-1/+47
2021-01-08Simplify DepNodeParams.Camille GILLOT-5/+20
2021-01-08Move DepNodeExt outside of the macro.Camille GILLOT-95/+91
2020-12-18rustc_query_system: explicitly register reused dep nodesTyson Nottingham-3/+3
Register nodes that we've reused from the previous session explicitly with `OnDiskCache`. Previously, we relied on this happening as a side effect of accessing the nodes in the `PreviousDepGraph`. For the sake of performance and avoiding unintended side effects, register explictily.
2020-12-10Use `def_path_hash_to_def_id` when re-using a `RawDefId`Aaron Hill-1/+1
Fixes #79890 Previously, we just copied a `RawDefId` from the 'old' map to the 'new' map. However, the `RawDefId` for a given `DefPathHash` may be different in the current compilation session. Using `def_path_hash_to_def_id` ensures that the `RawDefId` we use is valid in the current session.
2020-11-25Fix rebase falloutAaron Hill-4/+7
2020-11-25Lazy DefPath decoding for incremental compilationAaron Hill-5/+17
2020-11-25Auto merge of #79216 - Aaron1011:opt-on-disk-cache, r=pnkfelixbors-3/+11
Only create `OnDiskCache` in incremental compilation mode This lets us skip doing useless work when we're not in incremental compilation mode.
2020-11-19Only create `OnDiskCache` in incremental compilation modeAaron Hill-3/+11
This lets us skip doing useless work when we're not in incremental compilation mode.