rust/compiler/rustc_middle/src
bors 26438b4738 Auto merge of #78452 - cjgillot:ddk-struct, r=Mark-Simulacrum
Access query (DepKind) metadata through fields

This refactors the access to query definition metadata (attributes such as eval always, anon, has_params) and loading/forcing functions to generate a number of structs, instead of matching on the DepKind enum. This makes access to the fields cheaper to compile. Using a struct means that finding the metadata for a given query is just an offset away; previously the match may have been compiled to a jump table but likely not completely inlined as we expect here.

A previous attempt explored a similar strategy, but using trait objects in #78314 that proved less effective, likely due to higher overheads due to forcing dynamic calls and poorer cache utilization (all metadata is fairly densely packed with this PR).
2021-01-08 18:16:00 +00:00
..
dep_graph Check is_anon outside of can_reconstruct_query_key. 2021-01-08 18:03:27 +01:00
hir Do not swallow parent for MacroDef. 2021-01-05 21:10:35 +01:00
ich Make BoundRegion have a kind of BoungRegionKind 2020-12-18 15:27:28 -05:00
infer Make BoundRegion have a kind of BoungRegionKind 2020-12-18 15:27:28 -05:00
middle Rollup merge of #80302 - pierwill:fix-80287, r=lcnr 2020-12-23 00:14:01 +01:00
mir Auto merge of #78452 - cjgillot:ddk-struct, r=Mark-Simulacrum 2021-01-08 18:16:00 +00:00
query Add more comments to trait queries 2020-12-23 10:56:24 -05:00
traits Auto merge of #79336 - camelid:rename-feature-oibit-to-auto, r=oli-obk 2020-11-25 07:25:19 +00:00
ty Make force_from_dep_node a function pointer. 2021-01-08 18:01:50 +01:00
util Add #[track_caller] to bug! and register_renamed 2020-12-29 23:18:11 -05:00
arena.rs Combination of commits 2020-12-03 09:50:10 -08:00
lib.rs docs: Fix outdated crate reference 2020-12-19 23:32:51 -08:00
lint.rs Rollup merge of #80274 - pierwill:lintlevelsource, r=petrochenkov 2020-12-25 03:39:36 +01:00
macros.rs Auto merge of #78779 - LeSeulArtichaut:ty-visitor-return, r=oli-obk 2020-11-17 12:24:34 +00:00
tests.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00