rust/compiler
bors 61a941b8ba Auto merge of #87737 - LeSeulArtichaut:unsafeck-less-freeze, r=oli-obk
Only compute `is_freeze` for layout-constrained ADTs

Places are usually shallow and quick to visit. By contrast, computing `is_freeze` can be much costlier, involving inference and trait solving. Making sure to call `is_freeze` only when necessary should be beneficial for performance in most cases.

See [this comparison](https://perf.rust-lang.org/compare.html?start=81f08a4763e7537b92506fa5a597e6bf774d20cc&end=56a58d347b1c7dd0c2984b8fc3930c408e26fbc2&stat=instructions%3Au) from #87710.

r? `@oli-obk`
2021-08-05 14:45:09 +00:00
..
rustc
rustc_apfloat
rustc_arena
rustc_ast Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_ast_lowering Rollup merge of #87687 - camsteffen:inline-macros, r=oli-obk 2021-08-02 09:36:54 -05:00
rustc_ast_passes
rustc_ast_pretty Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_attr rustc: Fill out remaining parts of C-unwind ABI 2021-08-03 07:06:19 -07:00
rustc_builtin_macros
rustc_codegen_cranelift Auto merge of #87515 - crlf0710:trait_upcasting_part2, r=bjorn3 2021-08-03 16:58:56 +00:00
rustc_codegen_llvm Replace LLVMConstInBoundsGEP with LLVMConstInBoundsGEP2* 2021-08-04 15:51:30 +02:00
rustc_codegen_ssa Auto merge of #87641 - HackAttack:expand-unknown-option-message, r=wesleywiser 2021-08-05 00:11:05 +00:00
rustc_data_structures
rustc_driver Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_error_codes rustc: Fill out remaining parts of C-unwind ABI 2021-08-03 07:06:19 -07:00
rustc_errors Remove trailing whitespace from error messages 2021-08-04 10:48:30 +02:00
rustc_expand Remove space after negative sign in Literal to_string 2021-08-03 10:40:52 -07:00
rustc_feature rustc: Fill out remaining parts of C-unwind ABI 2021-08-03 07:06:19 -07:00
rustc_fs_util
rustc_graphviz
rustc_hir Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_hir_pretty Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_incremental
rustc_index
rustc_infer Do not suggest impl traits as type arguments 2021-08-03 20:05:50 +09:00
rustc_interface
rustc_lexer Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_lint Auto merge of #87026 - FabianWolff:issue-86948, r=estebank 2021-08-04 07:17:25 +00:00
rustc_lint_defs Auto merge of #87026 - FabianWolff:issue-86948, r=estebank 2021-08-04 07:17:25 +00:00
rustc_llvm Replace LLVMConstInBoundsGEP with LLVMConstInBoundsGEP2* 2021-08-04 15:51:30 +02:00
rustc_macros Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_metadata
rustc_middle Auto merge of #86155 - alexcrichton:abort-on-unwind, r=nikomatsakis 2021-08-04 21:09:53 +00:00
rustc_mir Auto merge of #86155 - alexcrichton:abort-on-unwind, r=nikomatsakis 2021-08-04 21:09:53 +00:00
rustc_mir_build Auto merge of #87737 - LeSeulArtichaut:unsafeck-less-freeze, r=oli-obk 2021-08-05 14:45:09 +00:00
rustc_parse Auto merge of #87026 - FabianWolff:issue-86948, r=estebank 2021-08-04 07:17:25 +00:00
rustc_parse_format
rustc_passes Disable unused variable lint for naked functions 2021-08-04 15:30:10 -04:00
rustc_plugin_impl
rustc_privacy Auto merge of #87568 - petrochenkov:localevel, r=cjgillot 2021-08-04 02:04:04 +00:00
rustc_query_impl Auto merge of #87515 - crlf0710:trait_upcasting_part2, r=bjorn3 2021-08-03 16:58:56 +00:00
rustc_query_system Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_resolve Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_save_analysis Auto merge of #87568 - petrochenkov:localevel, r=cjgillot 2021-08-04 02:04:04 +00:00
rustc_serialize
rustc_session Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_span Auto merge of #87262 - dtolnay:negative, r=Aaron1011 2021-08-03 04:50:28 +00:00
rustc_symbol_mangling Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_target Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_trait_selection Auto merge of #86400 - FabianWolff:issue-85735, r=estebank 2021-08-03 19:48:54 +00:00
rustc_traits Auto merge of #87535 - lf-:authors, r=Mark-Simulacrum 2021-08-02 05:49:17 +00:00
rustc_ty_utils
rustc_type_ir
rustc_typeck Auto merge of #86155 - alexcrichton:abort-on-unwind, r=nikomatsakis 2021-08-04 21:09:53 +00:00