rust/compiler
bors 361c4ea224 Auto merge of #79049 - tmiasko:lower-intrinsics, r=jonas-schievink
Lower intrinsics calls: forget, size_of, unreachable, wrapping_*

This allows constant propagation to evaluate `size_of` and `wrapping_*`,
and unreachable propagation to propagate a call to `unreachable`.

The lowering is performed as a MIR optimization, rather than during MIR
building to preserve the special status of intrinsics with respect to
unsafety checks and promotion.

Currently enabled by default to determine the performance impact (no
significant impact expected). In practice only useful when combined with
inlining since intrinsics are rarely used directly (with exception of
`unreachable` and `discriminant_value` used by built-in derive macros).

Closes #32716.
2020-11-14 22:05:54 +00:00
..
rustc
rustc_apfloat
rustc_arena Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
rustc_ast Reserve space in advance 2020-11-13 11:19:25 +01:00
rustc_ast_lowering Reuse vector 2020-11-13 11:19:25 +01:00
rustc_ast_passes Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_ast_pretty Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_attr Improve deprecation attribute diagnostic messages. 2020-11-02 13:21:18 +01:00
rustc_builtin_macros Reserve space in advance 2020-11-13 11:19:25 +01:00
rustc_codegen_cranelift Changed unwrap_or to unwrap_or_else in some places. 2020-11-10 20:07:47 -08:00
rustc_codegen_llvm Auto merge of #78959 - petrochenkov:likeuefi, r=nagisa 2020-11-14 09:11:25 +00:00
rustc_codegen_ssa rustc_target: Mark UEFI targets as is_like_windows/is_like_msvc 2020-11-12 19:40:41 +03:00
rustc_data_structures Move post order walk to iterative approach 2020-10-31 18:52:00 +01:00
rustc_driver Enable thread names in debug logging only for parallel_compiler 2020-11-11 13:28:30 -05:00
rustc_error_codes deny(invalid_codeblock_attributes) 2020-11-05 12:13:28 -05:00
rustc_errors Auto merge of #76931 - oli-obk:const_prop_inline_lint_madness, r=wesleywiser 2020-11-03 16:32:34 +00:00
rustc_expand Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_feature Add #[cfg(panic = "...")] 2020-11-09 15:30:49 +00:00
rustc_fs_util
rustc_graphviz Rust coverage before splitting instrument_coverage.rs 2020-11-05 18:24:12 -08:00
rustc_hir Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_hir_pretty Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
rustc_incremental Delete files immediately, instead of collecting into vector 2020-10-28 17:22:10 +01:00
rustc_index
rustc_infer Rollup merge of #78463 - varkor:placeholder-const, r=nikomatsakis 2020-11-13 15:26:14 +01:00
rustc_interface Add flags customizing behaviour of MIR inlining 2020-11-10 00:00:00 +00:00
rustc_lexer Add back missing comments 2020-10-30 10:13:41 -04:00
rustc_lint Reserve space in advance 2020-11-13 11:19:25 +01:00
rustc_lint_defs Rollup merge of #78114 - jyn514:private, r=oli-obk 2020-11-09 01:13:31 +01:00
rustc_llvm Rollup merge of #77950 - arlosi:sha256, r=eddyb 2020-11-03 19:32:26 +01:00
rustc_macros Small cleanup in TypeFoldable derive macro 2020-11-07 18:20:42 +01:00
rustc_metadata Push to result vector instead of allocating 2020-11-13 11:19:25 +01:00
rustc_middle Auto merge of #78809 - vn-ki:fix-issue-76064, r=oli-obk 2020-11-14 18:03:17 +00:00
rustc_mir Auto merge of #79049 - tmiasko:lower-intrinsics, r=jonas-schievink 2020-11-14 22:05:54 +00:00
rustc_mir_build Rollup merge of #78748 - fanzier:tuple-assignment, r=petrochenkov 2020-11-09 01:13:44 +01:00
rustc_parse Auto merge of #78736 - petrochenkov:lazyenum, r=Aaron1011 2020-11-14 04:21:56 +00:00
rustc_parse_format
rustc_passes Rollup merge of #78875 - petrochenkov:cleantarg, r=Mark-Simulacrum 2020-11-10 14:45:21 +01:00
rustc_plugin_impl
rustc_privacy Fix even more URLs 2020-11-05 20:11:29 +01:00
rustc_query_system Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
rustc_resolve Auto merge of #78826 - petrochenkov:mrscopes2, r=eddyb 2020-11-13 05:40:37 +00:00
rustc_save_analysis Implement destructuring assignment for structs and slices 2020-11-11 12:10:52 +00:00
rustc_serialize
rustc_session Rollup merge of #78873 - tmiasko:inline-opts, r=oli-obk 2020-11-11 20:59:03 +01:00
rustc_span Auto merge of #76256 - tgnottingham:issue-74890, r=nikomatsakis 2020-11-12 15:34:09 +00:00
rustc_symbol_mangling u128 truncation and sign extension are not just interpreter related 2020-11-04 13:41:58 +00:00
rustc_target Auto merge of #78959 - petrochenkov:likeuefi, r=nagisa 2020-11-14 09:11:25 +00:00
rustc_trait_selection Push to result vector instead of allocating 2020-11-13 11:19:25 +01:00
rustc_traits Rollup merge of #78502 - matthewjasper:chalkup, r=nikomatsakis 2020-11-09 19:06:46 +01:00
rustc_ty
rustc_typeck Changed unwrap_or to unwrap_or_else in some places. 2020-11-10 20:07:47 -08:00