rust/compiler
bors 10967a1dcc Auto merge of #88968 - tmiasko:start-block-no-predecessors, r=davidtwco
Start block is not allowed to have basic block predecessors

* The MIR validator is extended to detect potential violations.
* The start block has no predecessors after building MIR, so no changes are required there.
* The SimplifyCfg could previously violate this requirement when collapsing goto chains, so transformation is disabled for the start block, which also substantially simplifies the implementation.
* The LLVM function entry block also must not have basic block predecessors. Previously, to ensure that code generation had to perform necessary adjustments. This now became unnecessary.

The motivation behind the change is to align with analogous requirement in LLVM, and to avoid potential latent bugs like the one reported in #88043.
2021-09-19 01:38:17 +00:00
..
rustc rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_apfloat rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_arena Remove unused arena macro args 2021-08-30 13:09:38 +02:00
rustc_ast Rollup merge of #88775 - pnkfelix:revert-anon-union-parsing, r=davidtwco 2021-09-15 14:56:58 -07:00
rustc_ast_lowering Rollup merge of #88775 - pnkfelix:revert-anon-union-parsing, r=davidtwco 2021-09-15 14:56:58 -07:00
rustc_ast_passes delay error for enabling unstable lib features 2021-09-16 14:22:32 -04:00
rustc_ast_pretty Revert "Implement Anonymous{Struct, Union} in the AST" 2021-09-09 09:14:17 -04:00
rustc_attr Remove Session.used_attrs and move logic to CheckAttrVisitor 2021-08-21 13:27:27 -05:00
rustc_borrowck Auto merge of #88980 - tmiasko:instrument-debug, r=oli-obk 2021-09-18 06:11:02 +00:00
rustc_builtin_macros Auto merge of #88832 - pcwalton:debug-unit-variant-fast-path, r=oli-obk 2021-09-17 01:00:11 +00:00
rustc_codegen_cranelift Auto merge of #88839 - nbdd0121:alignof, r=nagisa 2021-09-12 23:49:24 +00:00
rustc_codegen_llvm Auto merge of #87867 - bjorn3:unique_type_id_interner, r=wesleywiser 2021-09-15 12:34:31 +00:00
rustc_codegen_ssa Remove support for reentrant start blocks from codegen 2021-09-18 07:28:56 +02:00
rustc_const_eval Start block is not allowed to have basic block predecessors 2021-09-18 07:28:55 +02:00
rustc_data_structures Rollup merge of #88711 - Mark-Simulacrum:fix-dfs-bug, r=jackh726 2021-09-12 03:44:57 -07:00
rustc_driver Rollup merge of #88751 - bjorn3:move_filesearch, r=oli-obk 2021-09-17 14:09:47 +09:00
rustc_error_codes Do not issue E0071 if a type error has already been reported 2021-09-12 23:07:23 +02:00
rustc_errors Make diagnostics clearer for ? operators 2021-09-17 13:13:28 +09:00
rustc_expand chore(rustc_expand): fix typo in comment 2021-09-15 09:13:18 -07:00
rustc_feature Rollup merge of #88775 - pnkfelix:revert-anon-union-parsing, r=davidtwco 2021-09-15 14:56:58 -07:00
rustc_fs_util rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_graphviz rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_hir Auto merge of #82183 - michaelwoerister:lazier-defpathhash-loading2, r=wesleywiser 2021-09-18 14:37:39 +00:00
rustc_hir_pretty don't convert types into identical types 2021-09-11 10:32:38 +02:00
rustc_incremental Auto merge of #83214 - cjgillot:dep-map, r=michaelwoerister 2021-09-06 23:58:16 +00:00
rustc_index Suggested changes 2021-08-27 16:21:25 -07:00
rustc_infer Auto merge of #89000 - Mark-Simulacrum:no-new-lrc, r=petrochenkov 2021-09-18 20:13:21 +00:00
rustc_interface Rollup merge of #87320 - danakj:debug-compilation-dir, r=michaelwoerister 2021-09-15 14:56:56 -07:00
rustc_lexer Fix more “a”/“an” typos 2021-08-22 17:27:18 +02:00
rustc_lint Rollup merge of #87529 - FabianWolff:issue-87496, r=nikomatsakis 2021-09-17 14:09:44 +09:00
rustc_lint_defs Add reachable_patterns lint to rfc-2008-non_exhaustive 2021-09-14 15:45:13 -04:00
rustc_llvm PassWrapper: these two lines shouldn't have been ifdef'd 2021-09-16 15:04:18 -04:00
rustc_macros Use a separate interner type for UniqueTypeId 2021-09-13 14:42:06 +02:00
rustc_metadata Update odht to 0.2.1 2021-09-17 15:57:57 +02:00
rustc_middle Auto merge of #89000 - Mark-Simulacrum:no-new-lrc, r=petrochenkov 2021-09-18 20:13:21 +00:00
rustc_mir_build Add reachable_patterns lint to rfc-2008-non_exhaustive 2021-09-14 15:45:13 -04:00
rustc_mir_dataflow Make rustc_mir_dataflow::framework::graphviz and rustc_mir_transform::MirPass public 2021-09-15 11:41:37 -07:00
rustc_mir_transform Do not collapse goto chains beginning with the start block 2021-09-18 07:28:55 +02:00
rustc_monomorphize Use explicit log level in tracing instrument macro 2021-09-15 19:02:10 +02:00
rustc_parse Rollup merge of #87566 - JohnTitor:find-eqeq-on-assoc-type-bounds, r=estebank 2021-09-17 17:41:14 +02:00
rustc_parse_format rfc3052: Remove authors field from Cargo manifests 2021-07-29 14:56:05 -07:00
rustc_passes delay error for enabling unstable lib features 2021-09-16 14:22:32 -04:00
rustc_plugin_impl Remove Session.used_attrs and move logic to CheckAttrVisitor 2021-08-21 13:27:27 -05:00
rustc_privacy add a CastKind to Node::Cast 2021-09-09 01:32:03 +01:00
rustc_query_impl Replace cnum_map with tcx.stable_crate_id_to_crate_num() in OnDiskCache. 2021-09-14 13:56:33 +02:00
rustc_query_system Auto merge of #82183 - michaelwoerister:lazier-defpathhash-loading2, r=wesleywiser 2021-09-18 14:37:39 +00:00
rustc_resolve Auto merge of #88650 - sapessi:issue-77175-fix, r=estebank 2021-09-18 11:56:23 +00:00
rustc_save_analysis Bump stage0 compiler to 1.56 2021-09-08 20:51:05 -04:00
rustc_serialize rustc: Remove local variable IDs from Exports 2021-09-10 23:41:48 +03:00
rustc_session Rollup merge of #88751 - bjorn3:move_filesearch, r=oli-obk 2021-09-17 14:09:47 +09:00
rustc_span Auto merge of #88978 - bjorn3:move_symbol_interner_lock, r=Mark-Simulacrum 2021-09-18 03:30:13 +00:00
rustc_symbol_mangling Rollup merge of #85534 - csmoe:demagnle-assert, r=michaelwoerister 2021-08-29 16:25:28 +02:00
rustc_target Auto merge of #87794 - bonega:enum_niche_prefer_zero, r=nagisa 2021-09-13 22:14:57 +00:00
rustc_trait_selection Auto merge of #89000 - Mark-Simulacrum:no-new-lrc, r=petrochenkov 2021-09-18 20:13:21 +00:00
rustc_traits Auto merge of #88371 - Manishearth:rollup-pkkjsme, r=Manishearth 2021-08-27 01:07:17 +00:00
rustc_ty_utils Remove the queries 2021-09-09 05:21:32 +00:00
rustc_type_ir Use index newtyping for TyVid 2021-09-06 22:38:06 -04:00
rustc_typeck Rollup merge of #88949 - FabianWolff:issue-87563, r=estebank 2021-09-17 17:41:17 +02:00