rust/compiler
bors f387c930ee Auto merge of #95981 - martingms:invert-line-offset-parsing, r=nnethercote
Optimize `<SourceFile as Decodable>::decode`

It showed up as a hot-ish function in a callgrind profile of the `await-call-tree` benchmark crate.

Provides some moderate speedups to compilation of some of the smaller benchmarks:

#### Primary benchmarks

Benchmark | Profile | Scenario | % Change | Significance Factor?
-- | -- | -- | -- | --
helloworld | check | full | -1.81% | 9.03x
helloworld | check | incr-unchanged | -1.80% | 8.99x
helloworld | check | incr-full | -1.59% | 7.97x
helloworld | check | incr-patched: println | -1.57% | 7.86x

#### Secondary benchmarks
<div class="category-title"></div>

Benchmark | Profile | Scenario | % Change | Significance Factor?
-- | -- | -- | -- | --
unify-linearly | check | incr-unchanged | -1.55% | 7.74x
unify-linearly | check | incr-patched: dummy fn | -1.42% | 7.08x
await-call-tree | check | incr-unchanged | -1.27% | 6.35x
await-call-tree | debug | incr-unchanged | -1.19% | 5.95x
await-call-tree | opt | incr-unchanged | -1.19% | 5.94x
issue-46449 | check | incr-unchanged | -1.08% | 5.39x
issue-46449 | check | incr-patched: u8 3072 | -1.00% | 5.00x
structopt-0.3.26 | check | incr-unchanged | -0.94% | 4.72x
structopt-0.3.26 | opt | incr-unchanged | -0.92% | 4.60x
structopt-0.3.26 | debug | incr-unchanged | -0.92% | 4.59x
issue-46449 | check | full | -0.89% | 4.46x
structopt-0.3.26 | check | full | -0.83% | 4.17x
structopt-0.3.26 | debug | full | -0.78% | 3.88x
structopt-0.3.26 | opt | full | -0.76% | 3.81x
unify-linearly | check | full | -0.75% | 3.74x
projection-caching | check | incr-unchanged | -0.74% | 3.70x
issue-46449 | check | incr-patched: u32 3072 | -0.70% | 3.50x
issue-46449 | check | incr-patched: empty 3072 | -0.68% | 3.41x
structopt-0.3.26 | check | incr-full | -0.68% | 3.40x
wf-projection-stress-65510 | check | incr-unchanged | -0.68% | 3.39x
issue-46449 | check | incr-patched: static str 6144 | -0.67% | 3.37x
wf-projection-stress-65510 | debug | incr-unchanged | -0.67% | 3.33x
wf-projection-stress-65510 | opt | incr-unchanged | -0.66% | 3.31x
issue-46449 | check | incr-patched: io error 6144 | -0.66% | 3.29x
unify-linearly | check | incr-full | -0.65% | 3.26x
issue-46449 | check | incr-full | -0.65% | 3.25x
structopt-0.3.26 | debug | incr-full | -0.64% | 3.18x
structopt-0.3.26 | opt | incr-full | -0.63% | 3.17x
issue-46449 | debug | incr-unchanged | -0.61% | 3.06x
issue-46449 | opt | incr-unchanged | -0.61% | 3.03x
await-call-tree | check | full | -0.60% | 2.99x
issue-88862 | check | incr-unchanged | -0.58% | 2.91x
deep-vector | debug | full | 0.57% | 2.83x
await-call-tree | check | incr-full | -0.52% | 2.59x
tt-muncher | opt | full | -0.52% | 2.58x
issue-58319 | check | incr-unchanged | -0.50% | 2.52x
await-call-tree | debug | full | -0.50% | 2.49x
await-call-tree | opt | full | -0.49% | 2.45x
deep-vector | debug | incr-patched: println | 0.47% | 2.37x
await-call-tree | debug | incr-full | -0.45% | 2.26x
await-call-tree | opt | incr-full | -0.44% | 2.18x
issue-88862 | check | full | -0.41% | 2.06x
mockall-0.11.0 | check | incr-unchanged | -0.38% | 1.90x
regression-31157 | check | incr-unchanged | -0.37% | 1.86x
wf-projection-stress-65510 | opt | full | -0.36% | 1.80x
deunicode-1.3.1 | check | incr-unchanged | -0.35% | 1.76x
unify-linearly | debug | incr-patched: dummy fn | -0.35% | 1.74x
mockall-0.11.0 | check | full | -0.35% | 1.73x
unify-linearly | debug | incr-unchanged | -0.34% | 1.69x
deunicode-1.3.1 | check | full | -0.33% | 1.63x
token-stream-stress | check | full | -0.32% | 1.62x
token-stream-stress | check | incr-full | -0.32% | 1.59x
token-stream-stress | check | incr-unchanged | -0.32% | 1.59x
regression-31157 | check | incr-patched: println | -0.31% | 1.57x
wf-projection-stress-65510 | check | full | -0.31% | 1.54x
deeply-nested-multi | check | incr-unchanged | -0.31% | 1.53x
mockall-0.11.0 | opt | incr-unchanged | -0.30% | 1.50x

r? `@nnethercote`
2022-04-13 23:18:33 +00:00
..
rustc Propagate parallel_compiler feature through rustc crates. Turned off feature gives change of builded crates: 238 -> 224. 2022-03-28 08:41:12 +03:00
rustc_apfloat Addressed comments by @compiler-errors and @bjorn3 2022-03-30 17:04:46 -04:00
rustc_arena mark FIXMES for all the places found that are probably offset_from 2022-03-29 20:18:28 -04:00
rustc_ast Use const Box::default in P::<[T]>::new 2022-04-11 12:14:18 -07:00
rustc_ast_lowering diagnostics: use correct span for const generics 2022-04-04 12:16:20 -07:00
rustc_ast_passes [let_chains] Forbid let inside parentheses 2022-03-31 18:33:05 -03:00
rustc_ast_pretty Remove Nonterminal::NtTT. 2022-03-28 10:03:02 +11:00
rustc_attr Rollup merge of #94948 - jhpratt:rustc_deprecated, r=Dylan-DPC 2022-03-20 09:14:59 +01:00
rustc_borrowck Add new MutatatingUseContexts for deinit and SetDiscriminant 2022-04-11 09:26:26 -04:00
rustc_builtin_macros Auto merge of #95697 - klensy:no-strings, r=petrochenkov 2022-04-09 13:15:26 +00:00
rustc_codegen_cranelift Add new Deinit statement kind 2022-04-11 08:55:03 -04:00
rustc_codegen_gcc Use WrappingRange::full instead of hand-rolling it 2022-04-05 13:18:22 +00:00
rustc_codegen_llvm Auto merge of #95656 - cjgillot:no-id-hashing-mode, r=Aaron1011 2022-04-13 11:27:17 +00:00
rustc_codegen_ssa Auto merge of #95968 - davidtwco:translation-lazy-fallback, r=oli-obk 2022-04-13 21:04:19 +00:00
rustc_const_eval Remove rule that place loads may not happen with variant index set 2022-04-11 15:56:04 -04:00
rustc_data_structures Remove NodeIdHashingMode. 2022-04-12 19:59:32 +02:00
rustc_driver errors: lazily load fallback fluent bundle 2022-04-13 02:44:59 +01:00
rustc_error_codes rework error messages for incorrect inherent impls 2022-03-30 11:23:58 +02:00
rustc_error_messages errors: lazily load fallback fluent bundle 2022-04-13 02:44:59 +01:00
rustc_errors errors: lazily load fallback fluent bundle 2022-04-13 02:44:59 +01:00
rustc_expand errors: lazily load fallback fluent bundle 2022-04-13 02:44:59 +01:00
rustc_feature Fix crate_type attribute to not warn on duplicates 2022-04-10 16:35:37 -07:00
rustc_fs_util
rustc_graphviz eplace usages of vec![].into_iter with [].into_iter 2022-01-09 14:09:25 +11:00
rustc_hir Auto merge of #95656 - cjgillot:no-id-hashing-mode, r=Aaron1011 2022-04-13 11:27:17 +00:00
rustc_hir_pretty resolve: Fix incorrect results of opt_def_kind query for some built-in macros 2022-02-24 22:54:36 +03:00
rustc_incremental check_doc_keyword: don't alloc string for emptiness check 2022-04-08 11:45:57 +03:00
rustc_index Spellchecking compiler comments 2022-03-30 15:14:15 -04:00
rustc_infer Auto merge of #95524 - oli-obk:cached_stable_hash_cleanups, r=nnethercote 2022-04-09 02:31:24 +00:00
rustc_interface sess: try sysroot candidates for fluent bundle 2022-04-12 10:15:37 +01:00
rustc_lexer Reduce max hash in raw strings from u16 to u8 2022-03-23 22:13:55 +01:00
rustc_lint Auto merge of #94527 - oli-obk:undef_scalars, r=nagisa,erikdesjardin 2022-04-05 16:46:13 +00:00
rustc_lint_defs Split fuzzy_provenance_casts into lossy and fuzzy, feature gate and test it 2022-04-08 17:41:28 +02:00
rustc_llvm Respect -Z verify-llvm-ir and other flags that add extra passes when combined with -C no-prepopulate-passes in the new LLVM Pass Manager. 2022-04-10 15:40:16 -04:00
rustc_log Make rustc_log doc test runnable 2022-01-03 22:31:56 -08:00
rustc_macros macros: support translatable suggestions 2022-04-05 07:01:03 +01:00
rustc_metadata Simplify FixedSizeEncoding using const generics. 2022-04-10 16:59:51 +02:00
rustc_middle Auto merge of #95656 - cjgillot:no-id-hashing-mode, r=Aaron1011 2022-04-13 11:27:17 +00:00
rustc_mir_build Auto merge of #94255 - b-naber:use-mir-constant-in-thir, r=oli-obk 2022-04-13 07:50:56 +00:00
rustc_mir_dataflow Add new MutatatingUseContexts for deinit and SetDiscriminant 2022-04-11 09:26:26 -04:00
rustc_mir_transform Remove inlining cost of Deinit statements 2022-04-11 10:23:33 -04:00
rustc_monomorphize Use def_key in tcx.item_name when possible. 2022-04-09 10:54:43 +02:00
rustc_parse use to_string instead of format! 2022-04-12 07:51:23 +09:00
rustc_parse_format Spellchecking compiler comments 2022-03-30 15:14:15 -04:00
rustc_passes check_doc_keyword: don't alloc string for emptiness check 2022-04-08 11:45:57 +03:00
rustc_plugin_impl
rustc_privacy do use ty::Const in patterns and abstract consts 2022-04-02 12:20:59 +02:00
rustc_query_impl rework implementation for inherent impls for builtin types 2022-03-30 11:23:58 +02:00
rustc_query_system Remove NodeIdHashingMode. 2022-04-12 19:59:32 +02:00
rustc_resolve Rollup merge of #95918 - compiler-errors:issue-95878, r=cjgillot 2022-04-12 23:16:59 +02:00
rustc_save_analysis Rollup merge of #95497 - nyurik:compiler-spell-comments, r=compiler-errors 2022-03-31 04:57:28 +02:00
rustc_serialize errors: implement fallback diagnostic translation 2022-04-05 07:01:02 +01:00
rustc_session errors: lazily load fallback fluent bundle 2022-04-13 02:44:59 +01:00
rustc_span Auto merge of #95981 - martingms:invert-line-offset-parsing, r=nnethercote 2022-04-13 23:18:33 +00:00
rustc_symbol_mangling Auto merge of #95656 - cjgillot:no-id-hashing-mode, r=Aaron1011 2022-04-13 11:27:17 +00:00
rustc_target trivial cfg(bootstrap) changes 2022-04-05 23:18:40 +02:00
rustc_trait_selection Auto merge of #94255 - b-naber:use-mir-constant-in-thir, r=oli-obk 2022-04-13 07:50:56 +00:00
rustc_traits Remove opaque type obligation and just register opaque types as they are encountered. 2022-03-28 16:57:45 +00:00
rustc_ty_utils Avoid accessing HIR from MIR queries. 2022-04-10 13:08:36 +02:00
rustc_type_ir Revert "Auto merge of #93893 - oli-obk:sad_revert, r=oli-obk" 2022-03-28 16:27:14 +00:00
rustc_typeck fix: wrong trait import suggestion for T: 2022-04-13 11:02:01 -03:00