rust/compiler
bors 840ed5d133 Auto merge of #114860 - Zoxc:sharded-layout, r=SparrowLii
Make `Sharded` an enum and specialize it for the single thread case

This changes `Sharded` to use a single shard by an enum, reducing the size of `Sharded` for greater cache efficiency.

Performance improvement with 1 thread and `cfg(parallel_compiler)`:
<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check</td><td align="right">1.7009s</td><td align="right">1.6748s</td><td align="right">💚  -1.53%</td></tr><tr><td>🟣 <b>hyper</b>:check</td><td align="right">0.2525s</td><td align="right">0.2451s</td><td align="right">💚  -2.90%</td></tr><tr><td>🟣 <b>regex</b>:check</td><td align="right">0.9519s</td><td align="right">0.9353s</td><td align="right">💚  -1.74%</td></tr><tr><td>🟣 <b>syn</b>:check</td><td align="right">1.5504s</td><td align="right">1.5280s</td><td align="right">💚  -1.45%</td></tr><tr><td>🟣 <b>syntex_syntax</b>:check</td><td align="right">5.9536s</td><td align="right">5.8873s</td><td align="right">💚  -1.11%</td></tr><tr><td>Total</td><td align="right">10.4092s</td><td align="right">10.2706s</td><td align="right">💚  -1.33%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9825s</td><td align="right">💚  -1.75%</td></tr></table>

I did see an unexpected 0.23% change for the serial compiler, so this could use a perf run to see if that reproduces.

cc `@SparrowLii`
2023-08-24 02:24:25 +00:00
..
rustc inline format!() args up to and including rustc_middle 2023-07-30 13:18:33 +02:00
rustc_abi Add `internal_features` lint 2023-08-03 14:50:50 +02:00
rustc_arena Address comments 2023-08-14 21:29:19 +02:00
rustc_ast Fix a stack overflow with long else if chains 2023-08-19 13:11:16 +02:00
rustc_ast_lowering Move scrutinee `HirId` into `MatchSource::TryDesugar` 2023-08-14 21:43:56 +00:00
rustc_ast_passes rustc: Move `features` from `Session` to `GlobalCtxt` 2023-08-11 16:51:50 +08:00
rustc_ast_pretty Add helpful comments to `tt_prepend_space`. 2023-08-17 09:01:05 +10:00
rustc_attr rustc: Move `features` from `Session` to `GlobalCtxt` 2023-08-11 16:51:50 +08:00
rustc_baked_icu_data
rustc_borrowck give some unwind-related terminators a more clear name 2023-08-20 15:52:38 +02:00
rustc_builtin_macros rustc: Move `features` from `Session` to `GlobalCtxt` 2023-08-11 16:51:50 +08:00
rustc_codegen_cranelift give some unwind-related terminators a more clear name 2023-08-20 15:52:38 +02:00
rustc_codegen_gcc Auto merge of #114643 - dpaoliello:inlinedebuginfo, r=wesleywiser 2023-08-22 20:15:29 +00:00
rustc_codegen_llvm Auto merge of #114643 - dpaoliello:inlinedebuginfo, r=wesleywiser 2023-08-22 20:15:29 +00:00
rustc_codegen_ssa Auto merge of #114643 - dpaoliello:inlinedebuginfo, r=wesleywiser 2023-08-22 20:15:29 +00:00
rustc_const_eval avoid return in tail position 2023-08-20 15:52:40 +02:00
rustc_data_structures Remove `count` 2023-08-16 10:44:32 +02:00
rustc_driver Update rustix 2023-07-03 07:20:51 +00:00
rustc_driver_impl rustc: Move `crate_types` from `Session` to `GlobalCtxt` 2023-08-09 14:17:54 +08:00
rustc_error_codes Fix syntax in E0191 explanation. 2023-08-21 18:45:51 +07:00
rustc_error_messages Add `internal_features` lint 2023-08-03 14:50:50 +02:00
rustc_errors fix 2023-08-18 15:19:23 +08:00
rustc_expand Auto merge of #114915 - nnethercote:Nonterminal-cleanups, r=petrochenkov 2023-08-18 16:07:40 +00:00
rustc_feature Add the relocation_model to the cfg 2023-08-18 19:57:28 +02:00
rustc_fluent_macro
rustc_fs_util
rustc_graphviz
rustc_hir Move scrutinee `HirId` into `MatchSource::TryDesugar` 2023-08-14 21:43:56 +00:00
rustc_hir_analysis Allow MaybeUninit in input and output of inline assembly 2023-08-23 21:57:18 +09:00
rustc_hir_pretty Auto merge of #114545 - fee1-dead-contrib:lower-impl-effect, r=oli-obk 2023-08-08 19:23:41 +00:00
rustc_hir_typeck Auto merge of #115018 - matthiaskrgr:rollup-pxj0qdb, r=matthiaskrgr 2023-08-20 08:11:08 +00:00
rustc_incremental Ignore unexpected incr-comp session dirs 2023-08-18 19:57:41 +02:00
rustc_index Convert it into a warning 2023-08-22 09:17:46 +00:00
rustc_infer Auto merge of #114611 - nnethercote:type-system-chess, r=compiler-errors 2023-08-18 06:29:38 +00:00
rustc_interface Default relax_elf_relocations to true 2023-08-23 11:12:30 -07:00
rustc_lexer Update lexer emoji diagnostics to Unicode 15.0 2023-07-29 08:47:21 +08:00
rustc_lint Improve note for the invalid_reference_casting lint 2023-08-23 11:27:33 +02:00
rustc_lint_defs Auto merge of #115104 - compiler-errors:rollup-8235xz5, r=compiler-errors 2023-08-22 16:16:32 +00:00
rustc_llvm ArchiveWrapper: handle LLVM API update 2023-08-22 12:26:35 -04:00
rustc_log inline format!() args up to and including rustc_middle 2023-07-30 13:18:33 +02:00
rustc_macros Make enum decoding errors more informative. 2023-08-18 16:50:41 +10:00
rustc_metadata Remove metadata_loader query 2023-08-13 16:38:50 +00:00
rustc_middle Auto merge of #114993 - RalfJung:panic-nounwind, r=fee1-dead 2023-08-20 22:01:18 +00:00
rustc_mir_build Auto merge of #115012 - Zoxc:thir-check-root, r=cjgillot 2023-08-24 00:42:46 +00:00
rustc_mir_dataflow give some unwind-related terminators a more clear name 2023-08-20 15:52:38 +02:00
rustc_mir_transform Auto merge of #115005 - compiler-errors:passes, r=cjgillot 2023-08-22 22:04:49 +00:00
rustc_monomorphize give some unwind-related terminators a more clear name 2023-08-20 15:52:38 +02:00
rustc_parse Fix a stack overflow with long else if chains 2023-08-19 13:11:16 +02:00
rustc_parse_format Fix unit tests 2023-07-19 16:37:09 +00:00
rustc_passes Contents of reachable statics is reachable 2023-08-22 00:00:00 +00:00
rustc_plugin_impl
rustc_privacy Use `{Local}ModDefId` in many queries 2023-08-14 07:22:48 +00:00
rustc_query_impl Add `internal_features` lint 2023-08-03 14:50:50 +02:00
rustc_query_system Auto merge of #114860 - Zoxc:sharded-layout, r=SparrowLii 2023-08-24 02:24:25 +00:00
rustc_resolve Rollup merge of #115011 - compiler-errors:warn-on-elided-assoc-ct-lt, r=cjgillot 2023-08-22 09:00:49 -07:00
rustc_serialize Upgrade to indexmap 2.0.0 2023-07-03 13:51:54 -07:00
rustc_session unknown unstable lint command line 2023-08-22 18:58:39 +08:00
rustc_smir add generics_of to smir 2023-08-22 21:47:46 +03:00
rustc_span Add support for ptr::write for the invalid_reference_casting lint 2023-08-22 15:47:29 +02:00
rustc_symbol_mangling Auto merge of #114672 - lenawanel:master, r=compiler-errors 2023-08-11 09:30:41 +00:00
rustc_target Default relax_elf_relocations to true 2023-08-23 11:12:30 -07:00
rustc_trait_selection instantiate response: no unnecessary new universe 2023-08-18 23:55:28 +02:00
rustc_traits refactor(rustc_middle): Substs -> GenericArg 2023-07-14 13:27:35 +01:00
rustc_transmute Don't attempt to compute layout of type referencing error 2023-07-27 18:24:08 +00:00
rustc_ty_utils Rollup merge of #114670 - compiler-errors:issue-114660, r=cjgillot 2023-08-09 23:00:00 +02:00
rustc_type_ir Revert "Implement references VarDebugInfo." 2023-08-17 17:02:04 +00:00