rust/compiler
bors 3cdd0197e7 Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk
Use stable metric for const eval limit instead of current terminator-based logic

This patch adds a `MirPass` that inserts a new MIR instruction `ConstEvalCounter` to any loops and function calls in the CFG. This instruction is used during Const Eval to count against the `const_eval_limit`, and emit the `StepLimitReached` error, replacing the current logic which uses Terminators only.

The new method of counting loops and function calls should be more stable across compiler versions (i.e., not cause crates that compiled successfully before, to no longer compile when changes to the MIR generation/optimization are made).

Also see: #103877
2023-01-29 04:11:27 +00:00
..
rustc
rustc_abi abi: add AddressSpace field to Primitive::Pointer 2023-01-22 23:41:39 -05:00
rustc_apfloat
rustc_arena
rustc_ast Rollup merge of #107194 - xfix:remove-slice-internals-dependency-in-rustc-ast, r=Nilstrieb 2023-01-28 00:23:12 +09:00
rustc_ast_lowering Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_ast_passes Autoderive ExternBlockSuggestion 2023-01-19 13:52:15 +01:00
rustc_ast_pretty Replace format flags u32 by enums and bools. 2023-01-27 08:53:39 +01:00
rustc_attr Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_builtin_macros Auto merge of #103659 - clubby789:improve-partialord-derive, r=nagisa 2023-01-28 22:11:11 +00:00
rustc_codegen_cranelift Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_codegen_gcc create and use GlobalAlloc::address_space 2023-01-25 01:46:19 -05:00
rustc_codegen_llvm Auto merge of #107400 - matthiaskrgr:rollup-l6bycds, r=matthiaskrgr 2023-01-28 06:46:42 +00:00
rustc_codegen_ssa Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_const_eval Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_data_structures Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_driver Store the gctxt instead of fetching it twice. 2023-01-23 10:35:21 +00:00
rustc_error_codes compiler: Fix E0587 explanation 2023-01-27 10:59:51 +01:00
rustc_error_messages Rollup merge of #107096 - clubby789:fluent-bad-messageref, r=compiler-errors 2023-01-28 11:11:07 +01:00
rustc_errors add debug assertion for suggestions with overlapping parts 2023-01-20 20:16:37 +01:00
rustc_expand preserve delim spans during macro_rules! expansion if able 2023-01-20 20:16:37 +01:00
rustc_feature Rollup merge of #106767 - chbaker0:disable-unstable-features, r=Mark-Simulacrum 2023-01-25 17:01:41 +05:30
rustc_fs_util
rustc_graphviz Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_hir Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_hir_analysis Auto merge of #107206 - cjgillot:no-h2l-map, r=WaffleLapkin 2023-01-28 16:11:33 +00:00
rustc_hir_pretty parse const closures 2023-01-12 02:28:37 +00:00
rustc_hir_typeck Auto merge of #107206 - cjgillot:no-h2l-map, r=WaffleLapkin 2023-01-28 16:11:33 +00:00
rustc_incremental Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_index Fix IndexVec::drain_enumerated 2023-01-19 15:25:33 +00:00
rustc_infer Auto merge of #107303 - compiler-errors:intern-canonical-var-values, r=lcnr 2023-01-28 19:41:21 +00:00
rustc_interface Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_lexer Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_lint Auto merge of #107206 - cjgillot:no-h2l-map, r=WaffleLapkin 2023-01-28 16:11:33 +00:00
rustc_lint_defs Auto merge of #107185 - compiler-errors:rollup-wkomjma, r=compiler-errors 2023-01-22 06:53:36 +00:00
rustc_llvm Rollup merge of #106113 - krasimirgg:llvm-16-ext-tyid, r=nikic 2023-01-21 23:20:58 -05:00
rustc_log Add log-backtrace option to show backtraces along with logging 2023-01-12 00:17:48 +09:00
rustc_macros Detect references to non-existant messages in Fluent resources 2023-01-27 11:27:22 +00:00
rustc_metadata Auto merge of #107406 - cjgillot:eliminate-witnesses, r=compiler-errors 2023-01-29 01:27:11 +00:00
rustc_middle Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_mir_build Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_mir_dataflow Create stable metric to measure long computation in Const Eval 2023-01-23 23:56:22 +00:00
rustc_mir_transform Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_monomorphize add EarlyBinder::no_bound_vars 2023-01-26 20:28:31 -07:00
rustc_parse Rollup merge of #104012 - chenyukang:yukang/fix-103882-deli-indentation, r=petrochenkov 2023-01-28 11:11:05 +01:00
rustc_parse_format Replace format flags u32 by enums and bools. 2023-01-27 08:53:39 +01:00
rustc_passes Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_plugin_impl
rustc_privacy Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_query_impl Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_query_system Remove double spaces after dots in comments 2023-01-17 08:09:33 +00:00
rustc_resolve suggest qualifying bare associated constants 2023-01-25 08:58:27 -05:00
rustc_save_analysis Remove HirId -> LocalDefId map from HIR. 2023-01-28 09:55:26 +00:00
rustc_serialize
rustc_session Auto merge of #106227 - bryangarza:ctfe-limit, r=oli-obk 2023-01-29 04:11:27 +00:00
rustc_smir
rustc_span Auto merge of #106745 - m-ou-se:format-args-ast, r=oli-obk 2023-01-26 12:44:47 +00:00
rustc_symbol_mangling Introduce GeneratorWitnessMIR. 2023-01-27 18:58:44 +00:00
rustc_target Rollup merge of #107248 - erikdesjardins:addrspace, r=oli-obk 2023-01-26 06:15:27 +01:00
rustc_trait_selection Auto merge of #107303 - compiler-errors:intern-canonical-var-values, r=lcnr 2023-01-28 19:41:21 +00:00
rustc_traits Auto merge of #107303 - compiler-errors:intern-canonical-var-values, r=lcnr 2023-01-28 19:41:21 +00:00
rustc_transmute Also remove #![feature(control_flow_enum)] where possible 2023-01-18 10:22:21 -08:00
rustc_ty_utils Pacify tidy. 2023-01-27 22:01:25 +00:00
rustc_type_ir Separate witness type computation from the generator transform. 2023-01-27 19:00:26 +00:00