rust/compiler
Mark Rousskov c3364a23d2 perf: Don't track specific live points for promoteds
We don't query this information out of the promoted (it's basically a
single "unit" regardless of the complexity within it) and this saves on
re-initializing the SparseIntervalMatrix's backing IndexVec with mostly
empty rows for all of the leading regions in the function. Typical
promoteds will only contain a few regions that need up be uplifted,
while the parent function can have thousands.

For a simple function repeating println!("Hello world"); 50,000 times
this reduces compile times from 90 to 15 seconds in debug mode. The
previous implementations re-initialization led to an overall roughly n^2
runtime as each promoted initialized slots for ~n regions, now we scale
closer to linearly (5000 hello worlds takes 1.1 seconds).
2024-01-19 20:49:51 -05:00
..
rustc
rustc_abi Fix rustc_abi build on stable 2024-01-16 21:15:31 +01:00
rustc_arena
rustc_ast Rollup merge of #119062 - compiler-errors:asm-in-let-else, r=davidtwco,est31 2024-01-19 08:15:03 +01:00
rustc_ast_lowering Auto merge of #120006 - cjgillot:no-hir-owner, r=wesleywiser 2024-01-19 02:36:13 +00:00
rustc_ast_passes Auto merge of #119088 - George-lewis:glewis/suggest-upgrading-compiler, r=Nilstrieb 2024-01-13 20:06:03 +00:00
rustc_ast_pretty Add PatKind::Err 2024-01-17 03:14:16 +01:00
rustc_attr Add check for ui_testing via promoting parameters from ParseSess to Session 2024-01-13 12:11:13 -05:00
rustc_baked_icu_data
rustc_borrowck perf: Don't track specific live points for promoteds 2024-01-19 20:49:51 -05:00
rustc_builtin_macros Add check for ui_testing via promoting parameters from ParseSess to Session 2024-01-13 12:11:13 -05:00
rustc_codegen_cranelift compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
rustc_codegen_gcc Rename {create,emit}_warning as {create,emit}_warn. 2024-01-10 07:33:06 +11:00
rustc_codegen_llvm Update measureme crate to version 11 2024-01-13 16:32:03 +01:00
rustc_codegen_ssa Auto merge of #119922 - nnethercote:fix-Diag-code-is_lint, r=oli-obk 2024-01-17 07:33:52 +00:00
rustc_const_eval Optimize large array creation in const-eval 2024-01-17 20:24:20 -05:00
rustc_data_structures Auto merge of #120076 - Mark-Simulacrum:unhash, r=cjgillot 2024-01-19 04:43:17 +00:00
rustc_driver
rustc_driver_impl Replace TrimmedDefPaths with a bool. 2024-01-15 09:16:14 +11:00
rustc_error_codes Async closures will move params into the future always 2024-01-16 17:12:10 +00:00
rustc_error_messages
rustc_errors Rework how diagnostic lints are stored. 2024-01-14 14:04:25 +11:00
rustc_expand Auto merge of #120121 - matthiaskrgr:rollup-razammh, r=matthiaskrgr 2024-01-19 16:26:37 +00:00
rustc_feature Improved collapse_debuginfo attribute, added command-line flag (no|external|yes) 2024-01-17 23:18:14 +07:00
rustc_fluent_macro annotate-snippets: update to 0.10 2024-01-07 16:53:32 +03:00
rustc_fs_util
rustc_graphviz
rustc_hir Auto merge of #120006 - cjgillot:no-hir-owner, r=wesleywiser 2024-01-19 02:36:13 +00:00
rustc_hir_analysis Rollup merge of #119869 - oli-obk:track_errors2, r=matthewjasper 2024-01-18 20:56:20 +01:00
rustc_hir_pretty Add PatKind::Err 2024-01-17 03:14:16 +01:00
rustc_hir_typeck Rollup merge of #120037 - compiler-errors:remove-next-root-var-helper, r=lcnr 2024-01-18 20:56:20 +01:00
rustc_incremental Get rid of the hir_owner query. 2024-01-16 23:49:38 +00:00
rustc_index Auto merge of #119499 - cjgillot:dtm-opt, r=nnethercote 2024-01-06 11:54:15 +00:00
rustc_index_macros Rollup merge of #119963 - clubby789:spec-allow-internal-unstable, r=compiler-errors 2024-01-15 08:44:49 +01:00
rustc_infer Rollup merge of #120021 - lcnr:const-var-value, r=compiler-errors 2024-01-18 10:34:19 +01:00
rustc_interface Rollup merge of #119828 - azhogin:azhogin/collapse_debuginfo_improved_attr, r=petrochenkov 2024-01-18 20:56:19 +01:00
rustc_lexer Detect NulInCStr error earlier. 2024-01-12 16:19:37 +11:00
rustc_lint Rollup merge of #119967 - ShE3py:patkind-err, r=WaffleLapkin 2024-01-18 10:34:18 +01:00
rustc_lint_defs Rollup merge of #117556 - obeis:static-mut-ref-lint, r=davidtwco 2024-01-09 13:23:15 +01:00
rustc_llvm Revert "Auto merge of #113923 - DianQK:restore-no-builtins-lto, r=pnkfelix" 2024-01-12 18:23:04 +08:00
rustc_log
rustc_macros Rework how diagnostic lints are stored. 2024-01-14 14:04:25 +11:00
rustc_metadata Rollup merge of #119869 - oli-obk:track_errors2, r=matthewjasper 2024-01-18 20:56:20 +01:00
rustc_middle Auto merge of #120112 - matthiaskrgr:rollup-48o3919, r=matthiaskrgr 2024-01-19 08:42:17 +00:00
rustc_mir_build Add PatKind::Err 2024-01-17 03:14:16 +01:00
rustc_mir_dataflow Rollup merge of #115291 - cjgillot:dest-prop-save, r=JakobDegen 2024-01-17 20:21:19 +01:00
rustc_mir_transform Rollup merge of #115291 - cjgillot:dest-prop-save, r=JakobDegen 2024-01-17 20:21:19 +01:00
rustc_monomorphize Make crate_inherent_impls fallible and stop using track_errors for it 2024-01-17 10:02:29 +00:00
rustc_next_trait_solver Remove movability from TyKind::Coroutine 2023-12-28 16:35:01 +00:00
rustc_parse Rollup merge of #119062 - compiler-errors:asm-in-let-else, r=davidtwco,est31 2024-01-19 08:15:03 +01:00
rustc_parse_format Removing redudant note from parse error 2024-01-08 19:41:01 +01:00
rustc_passes Rollup merge of #120107 - shepmaster:dead-code-repr-transparent, r=Nilstrieb 2024-01-19 08:15:05 +01:00
rustc_pattern_analysis Rollup merge of #120039 - Nadrieril:remove-idx, r=compiler-errors 2024-01-17 20:21:23 +01:00
rustc_privacy Remove Session methods that duplicate DiagCtxt methods. 2023-12-24 08:05:28 +11:00
rustc_query_impl Update measureme crate to version 11 2024-01-13 16:32:03 +01:00
rustc_query_system Auto merge of #120006 - cjgillot:no-hir-owner, r=wesleywiser 2024-01-19 02:36:13 +00:00
rustc_resolve Make crate_inherent_impls fallible and stop using track_errors for it 2024-01-17 10:02:29 +00:00
rustc_serialize Remove more needless leb128 coding for enum variants 2024-01-09 20:08:44 -05:00
rustc_session Rollup merge of #119828 - azhogin:azhogin/collapse_debuginfo_improved_attr, r=petrochenkov 2024-01-18 20:56:19 +01:00
rustc_smir Rollup merge of #119833 - celinval:smir-accept-closures, r=oli-obk 2024-01-18 10:34:17 +01:00
rustc_span Auto merge of #120112 - matthiaskrgr:rollup-48o3919, r=matthiaskrgr 2024-01-19 08:42:17 +00:00
rustc_symbol_mangling Rename consuming chaining methods on DiagnosticBuilder. 2024-01-10 07:40:00 +11:00
rustc_target Rollup merge of #119855 - rellerreller:freebsd-static, r=wesleywiser 2024-01-17 20:21:19 +01:00
rustc_trait_selection use implied bounds compat mode in MIR borrowck 2024-01-19 15:27:32 +01:00
rustc_traits Correctly handle normalization in implied bounds 2024-01-17 21:27:34 -05:00
rustc_transmute Fix an ICE that occurs after an error has already been reported 2024-01-09 16:09:30 +00:00
rustc_ty_utils Rollup merge of #119969 - compiler-errors:simplify-closure-env-ty, r=oli-obk 2024-01-16 17:55:23 +01:00
rustc_type_ir Fix tidy error 2023-12-31 20:58:36 +00:00
stable_mir Rollup merge of #119877 - celinval:smir-visit-projection, r=oli-obk 2024-01-12 15:16:57 +01:00