rust/compiler
bors 5a6c1aa2bc Auto merge of #121421 - saethlin:smarter-mono, r=oli-obk
Avoid lowering code under dead SwitchInt targets

The objective of this PR is to detect and eliminate code which is guarded by an `if false`, even if that `false` is a constant which is not known until monomorphization, or is `intrinsics::debug_assertions()`.

The effect of this is that we generate no LLVM IR the standard library's unsafe preconditions, when they are compiled in a build where they should be immediately optimized out. This mono-time optimization ensures that builds which disable debug assertions do not grow a linkage requirement against `core`, which compiler-builtins currently needs: https://github.com/rust-lang/rust/issues/121552

This revives the codegen side of https://github.com/rust-lang/rust/pull/91222 as planned in https://github.com/rust-lang/rust/issues/120848.
2024-03-13 05:07:26 +00:00
..
rustc Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_abi Rollup merge of #121382 - nnethercote:rework-untranslatable_diagnostic-lint, r=davidtwco 2024-03-06 22:02:46 +01:00
rustc_arena rename ptr::invalid -> ptr::without_provenance 2024-02-21 20:15:52 +01:00
rustc_ast Rollup merge of #119365 - nbdd0121:asm-goto, r=Amanieu 2024-03-08 08:19:17 +01:00
rustc_ast_ir Fix typo in VisitorResult 2024-03-08 23:20:29 -05:00
rustc_ast_lowering Change DefKind::Static to a struct variant 2024-03-12 05:53:46 +00:00
rustc_ast_passes Rename AddToDiagnostic as Subdiagnostic. 2024-03-11 10:04:49 +11:00
rustc_ast_pretty Rollup merge of #121584 - klensy:itertools-up, r=Mark-Simulacrum 2024-03-09 21:40:08 +01:00
rustc_attr Rename IntoDiagnostic as Diagnostic. 2024-03-11 09:15:09 +11:00
rustc_baked_icu_data Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_borrowck Eliminate DefiningAnchor::Error, it is indistinguishable from DefiningAnchor::Bind with an empty list 2024-03-11 17:19:37 +00:00
rustc_builtin_macros Rename AddToDiagnostic as Subdiagnostic. 2024-03-11 10:04:49 +11:00
rustc_codegen_cranelift Rollup merge of #121840 - oli-obk:freeze, r=dtolnay 2024-03-11 03:47:19 -04:00
rustc_codegen_gcc Some comment nits 2024-03-12 08:51:20 +00:00
rustc_codegen_llvm Auto merge of #122220 - saethlin:ppc-can-into-atomicptr, r=oli-obk 2024-03-13 00:03:50 +00:00
rustc_codegen_ssa Auto merge of #121421 - saethlin:smarter-mono, r=oli-obk 2024-03-13 05:07:26 +00:00
rustc_const_eval Exhaustively match on the mutability and nestedness 2024-03-12 05:53:47 +00:00
rustc_data_structures Rollup merge of #120976 - matthiaskrgr:constify_TL_statics, r=lcnr 2024-03-04 22:16:30 +01:00
rustc_driver Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_driver_impl Auto merge of #122218 - Zoxc:no-interleave-panics, r=michaelwoerister 2024-03-12 14:01:38 +00:00
rustc_error_codes Improve error message for opaque captures 2024-03-08 19:08:13 +00:00
rustc_error_messages Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_errors Rollup merge of #122194 - oli-obk:stash_delay_bug, r=nnethercote 2024-03-12 06:29:03 +01:00
rustc_expand Rollup merge of #121382 - nnethercote:rework-untranslatable_diagnostic-lint, r=davidtwco 2024-03-06 22:02:46 +01:00
rustc_feature Rollup merge of #121840 - oli-obk:freeze, r=dtolnay 2024-03-11 03:47:19 -04:00
rustc_fluent_macro Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_fs_util Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_graphviz Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_hir Some comment nits 2024-03-12 08:51:20 +00:00
rustc_hir_analysis Manual rustfmt 2024-03-12 05:53:46 +00:00
rustc_hir_pretty Add asm label support to AST and HIR 2024-02-24 18:49:39 +00:00
rustc_hir_typeck Change DefKind::Static to a struct variant 2024-03-12 05:53:46 +00:00
rustc_incremental Rename all ParseSess variables/fields/lifetimes as psess. 2024-03-05 08:11:45 +11:00
rustc_index doc: Add better explanation 2024-03-06 16:54:42 +01:00
rustc_index_macros Step all bootstrap cfgs forward 2024-02-08 07:44:34 -05:00
rustc_infer Change DefKind::Static to a struct variant 2024-03-12 05:53:46 +00:00
rustc_interface Auto merge of #122227 - Zoxc:query-hash-verify, r=michaelwoerister 2024-03-13 02:01:56 +00:00
rustc_lexer Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_lint Allow multiple impl Into<{D,Subd}iagMessage> parameters in a function. 2024-03-11 16:42:10 +11:00
rustc_lint_defs Declare new lint 2024-03-09 01:13:42 +01:00
rustc_llvm llvm-wrapper: adapt for LLVM API changes 2024-03-12 12:39:25 +00:00
rustc_log rustc_log: expose tracing-tree "wraparound" in an env var 2024-03-03 12:33:26 +01:00
rustc_macros Rename diagnostic derive things. 2024-03-11 10:06:34 +11:00
rustc_metadata s/mt/mutability/ 2024-03-12 05:53:46 +00:00
rustc_middle Avoid lowering code under dead SwitchInt targets 2024-03-12 19:01:04 -04:00
rustc_mir_build Change DefKind::Static to a struct variant 2024-03-12 05:53:46 +00:00
rustc_mir_dataflow Distinguish between library and lang UB in assert_unsafe_precondition 2024-03-08 18:53:58 -05:00
rustc_mir_transform Ensure nested allocations in statics do not get deduplicated 2024-03-12 05:53:46 +00:00
rustc_monomorphize Ensure nested allocations in statics do not get deduplicated 2024-03-12 05:53:46 +00:00
rustc_next_trait_solver Allow a way to add constructors for rustc_type_ir types 2024-03-04 15:39:59 +00:00
rustc_parse Rollup merge of #122152 - wutchzone:120892, r=fmease 2024-03-11 09:29:35 -07:00
rustc_parse_format remove a couple of redundant clones 2024-02-17 12:46:18 +01:00
rustc_passes Ensure nested allocations in statics do not get deduplicated 2024-03-12 05:53:46 +00:00
rustc_pattern_analysis Rename DecorateLint as LintDiagnostic. 2024-03-11 10:04:50 +11:00
rustc_privacy Change DefKind::Static to a struct variant 2024-03-12 05:53:46 +00:00
rustc_query_impl Verify that query keys result in unique dep nodes 2024-03-12 05:31:41 +01:00
rustc_query_system Rollup merge of #122245 - saethlin:check-dep-graph-size, r=petrochenkov 2024-03-12 09:04:00 -07:00
rustc_resolve Manual rustfmt 2024-03-12 05:53:46 +00:00
rustc_serialize Replace NonZero::<_>::new with NonZero::new. 2024-02-15 08:09:42 +01:00
rustc_session Auto merge of #122227 - Zoxc:query-hash-verify, r=michaelwoerister 2024-03-13 02:01:56 +00:00
rustc_smir Change DefKind::Static to a struct variant 2024-03-12 05:53:46 +00:00
rustc_span Ensure nested allocations in statics do not get deduplicated 2024-03-12 05:53:46 +00:00
rustc_symbol_mangling Rename IntoDiagnostic as Diagnostic. 2024-03-11 09:15:09 +11:00
rustc_target Auto merge of #122170 - alexcrichton:rename-wasi-threads, r=petrochenkov 2024-03-12 08:30:46 +00:00
rustc_trait_selection Fix discriminant_kind copy paste from the pointee trait case 2024-03-12 14:37:22 +03:00
rustc_traits Merge check_mod_impl_wf and check_mod_type_wf 2024-03-07 06:27:09 +00:00
rustc_transmute bump itertools to 0.12 2024-03-08 12:34:05 +03:00
rustc_ty_utils Rollup merge of #122366 - oli-obk:opaques_defined_by_overflow, r=lcnr 2024-03-12 09:04:02 -07:00
rustc_type_ir Remove Ord from ClosureKind 2024-03-09 21:16:43 +08:00
stable_mir Distinguish between library and lang UB in assert_unsafe_precondition 2024-03-08 18:53:58 -05:00