Joshua Nelson
00cde6d4b9
Move the codegen_unit
debug assert from rustc_query_system
to query_impl
...
This allows removing a function from the `DepKind` trait.
2022-09-25 12:08:36 -05:00
Joshua Nelson
f3f91bb514
Move functions on DepKindStruct
from rustc_middle to rustc_query_system
2022-09-25 12:07:17 -05:00
Joshua Nelson
93a0fb190e
Move DepKindStruct
from rustc_middle to rustc_query_system
2022-09-25 11:56:23 -05:00
Camille GILLOT
e912c8dfe0
Use a dedicated DepKind for the forever-red node.
2022-07-06 23:20:12 +02:00
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
est31
60f969a4f2
Adopt let_else in even more places
2022-02-16 22:43:39 +01:00
Aaron Hill
f64cd87ca6
Introduce new TaskDepsRef
enum to track allow/ignore/forbid status
2022-01-08 18:22:06 -05: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
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
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
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
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
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
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
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
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
Camille GILLOT
bee1fbb67e
Make try_load_from_on_disk_cache a function pointer.
2021-01-08 17:59:27 +01:00
Camille GILLOT
438c430c76
Make can_reconstruct_query_key a function pointer.
2021-01-08 17:57:25 +01:00
Camille GILLOT
5027f1c6ea
Use a field for has_params.
2021-01-08 17:55:46 +01:00
Camille GILLOT
d8c87ac080
Use a field for is_eval_always.
2021-01-08 17:53:38 +01:00
Camille GILLOT
24f0b957e7
Use a field for is_anon.
2021-01-08 17:51:53 +01:00
Tyson Nottingham
7795801902
rustc_query_system: explicitly register reused dep nodes
...
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-18 18:53:12 -08:00
Aaron Hill
3918b82993
Use def_path_hash_to_def_id
when re-using a RawDefId
...
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-12-10 16:04:19 -05:00
Aaron Hill
7a9aa4f980
Fix rebase fallout
2020-11-25 15:08:51 -05:00
Aaron Hill
e935d3832c
Lazy DefPath decoding for incremental compilation
2020-11-25 14:49:15 -05:00
Aaron Hill
d00ed01876
Only create OnDiskCache
in incremental compilation mode
...
This lets us skip doing useless work when we're not in incremental
compilation mode.
2020-11-19 15:50:55 -05:00
mark
9e5f7d5631
mv compiler to compiler/
2020-08-30 18:45:07 +03:00