Camille GILLOT
43bb31b954
Allow to create definitions inside the query system.
2022-07-06 22:50:55 +02:00
Jacob Pratt
49c82f31a8
Remove crate
visibility usage in compiler
2022-05-20 20:04:54 -04:00
Camille GILLOT
07ee031763
Stop using CRATE_DEF_INDEX.
...
`CRATE_DEF_ID` and `CrateNum::as_def_id` are almost always what we want.
2022-04-17 12:14:42 +02:00
est31
60f969a4f2
Adopt let_else in even more places
2022-02-16 22:43:39 +01:00
Aaron Hill
70d36a05bc
Show a more informative panic message when DefPathHash
does not exist
...
This should hopefully make it easier to debug incremental compilation
bugs like #93096 without affecting performance.
2022-01-19 17:36:44 -05:00
Aaron Hill
f64cd87ca6
Introduce new TaskDepsRef
enum to track allow/ignore/forbid status
2022-01-08 18:22:06 -05:00
Aaron Hill
070bf94a6f
Remove in_band_lifetimes
from rustc_middle
...
See #91867
This was mostly straightforward. In several places, I take advantage
of the fact that lifetimes are non-hygenic: a macro declares the
'tcx' lifetime, which is then used in types passed in as macro
arguments.
2021-12-15 19:50:43 -05:00
Camille GILLOT
b11ec29e28
Address review.
2021-10-20 18:51:15 +02:00
Camille GILLOT
8785b70774
Inline DepNodeParams methods.
2021-10-20 18:46:25 +02:00
Camille GILLOT
bd5c107672
Build jump table at runtime.
2021-10-20 18:32:29 +02:00
Camille GILLOT
602d3cbce3
Invoke callbacks from rustc_middle.
2021-10-20 18:29:33 +02:00
Camille GILLOT
b09de95fab
Merge two query callbacks arrays.
2021-10-20 18:29:27 +02:00
Camille GILLOT
dc7143367c
Drop has_params.
2021-10-20 18:29:22 +02:00
Camille GILLOT
e53404cca6
Move def_path_hash_to_def_id to rustc_middle.
2021-10-20 18:28:54 +02:00
Mark Rousskov
6f78eed1c7
Query the fingerprint style during key reconstruction
...
Keys can be reconstructed from fingerprints that are not DefPathHash, but then
we cannot extract a DefId from them.
2021-10-06 22:19:48 -04:00
bors
55111d656f
Auto merge of #89266 - cjgillot:session-ich, r=michaelwoerister
...
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-05 09:45:11 +00:00
Camille GILLOT
fedd7785fe
Access StableHashingContext in rustc_query_system.
2021-10-03 16:08:55 +02:00
Camille GILLOT
02025d86ac
Remove re-export.
2021-10-03 16:08:54 +02:00
bjorn3
e2d3e09b9c
Prevent macro ambiguity errors
...
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-10-02 13:00:19 -04:00
Michael Woerister
2b60338ee9
Make DefPathHash->DefId panic for if the mapping fails.
...
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-14 13:56:33 +02:00
Michael Woerister
5445715c20
Remove RawDefId tracking infrastructure from incr. comp. framework.
...
This infrastructure is obsolete now with the new encoding scheme for
the DefPathHash->DefIndex maps in crate metadata.
2021-09-14 13:56:33 +02:00
Aaron Hill
6fd6624045
Fix rebase fallout
2021-06-04 12:54:28 -05:00
Camille GILLOT
0e71283495
Restrict access to crate_name.
...
Also remove original_crate_name, which had the exact same implementation
2021-06-02 18:35:32 +02:00
Camille GILLOT
28afaeec17
Make is_private_dep a query.
2021-06-01 21:03:55 +02:00
Camille Gillot
0f0f3138cb
Revert "Reduce the amount of untracked state in TyCtxt"
2021-06-01 09:05:22 +02:00
Camille GILLOT
ee94fbb607
Make allocator_kind a query.
2021-05-30 19:58:01 +02:00
Camille GILLOT
10fb4b2fe5
Restrict access to crate_name.
...
Also remove original_crate_name, which had the exact same implementation
2021-05-30 19:54:04 +02:00
Camille GILLOT
5d9f96ab27
Make resolutions a query.
2021-05-30 19:47:00 +02:00
bjorn3
d0ec85d3fb
Merge CrateDisambiguator into StableCrateId
2021-05-30 12:51:34 +02:00
Dylan DPC
e7c9469786
Rollup merge of #85583 - cjgillot:no-previous-dg, r=petrochenkov
...
Get rid of PreviousDepGraph.
Its only role is to access the `SerializedDepGraph`.
2021-05-27 03:02:09 +02:00
LeSeulArtichaut
6f64eb1fe6
Make THIR building a stealable query
2021-05-22 14:36:22 +02:00
Camille GILLOT
a50f1e949b
Get rid of PreviousDepGraph.
2021-05-22 14:14:23 +02:00
bjorn3
15bfd9da85
Introduce CompileMonoItem DepNode
2021-04-12 13:58:12 +02:00
Camille GILLOT
6bfaf3a9cb
Stream the dep-graph to a file.
2021-03-30 18:09:59 +02:00
Camille GILLOT
f96e960ccf
Access the session directly from DepContext.
2021-02-20 22:53:46 +01:00
Camille GILLOT
cdc0b199a9
Split DepKindStruct in two.
2021-02-19 17:51:56 +01:00
Camille GILLOT
1ac21e4571
Use QueryCtxt in DepKindStruct.
2021-02-19 17:51:56 +01:00
Camille GILLOT
b27266fdb2
Use a QueryContext for try_mark_green.
2021-02-19 17:51:56 +01:00
Camille GILLOT
ea3d465c95
Move try_load_from_on_disk_cache to the QueryContext.
2021-02-19 17:51:55 +01:00
Camille GILLOT
5d71b99690
Make QueryEngine opaque to TyCtxt.
2021-02-19 17:51:54 +01:00
Camille GILLOT
2db2776589
Wrap TyCtxt inside a QueryCtxt for queries.
2021-02-19 17:51:50 +01:00
Camille GILLOT
dab9b89221
Decouple the on-disk cache from the query engine.
2021-02-19 17:51:50 +01:00
Camille GILLOT
211b05aef3
Don't require a QueryContext to access the DepGraph.
2021-02-19 17:51:49 +01:00
pierwill
b29353af09
Edit rustc_middle::dep_graph module documentation
...
Co-authored-by: Joshua Nelson <joshua@yottadb.com>
Co-authored-by: Camelid <camelidcamel@gmail.com>
2021-01-22 15:15:05 -08:00
bors
fcbd305ee9
Auto merge of #80602 - tgnottingham:cratemetadata_you_aint_special, 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-15 21:13:35 +00:00
Tyson Nottingham
62139ffad4
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-12 11:22:57 -08:00
Joshua Nelson
f7d261c3b1
Get rid of DepConstructor
...
This removes fully 235 unused functions.
2021-01-08 18:12:42 -05:00
Camille GILLOT
0f334c3642
Check is_anon outside of can_reconstruct_query_key.
2021-01-08 18:03:27 +01:00
Camille GILLOT
5fcc537d18
Make DepConstructor a module.
2021-01-08 18:02:04 +01:00
Camille GILLOT
921b284167
Make force_from_dep_node a function pointer.
2021-01-08 18:01:50 +01:00