Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
9a77ec9
Rename `-Zno_parallel_llvm` -> `-Zno_parallel_backend`
WaffleLapkin Feb 15, 2024
f368922
Allow codegen backends to opt-out of parallel codegen
WaffleLapkin Feb 15, 2024
8bb49e2
Propagate the resolved type of assoc const bindings via query feeding
fmease Dec 31, 2023
b94498a
Use existing query feeding workarounds
oli-obk Feb 21, 2024
858d336
Slightly simplify feeding of assoc const eq bounds
fmease Feb 23, 2024
d9a2886
add comment and test: we do not do value-based reasoning for promotio…
RalfJung Feb 29, 2024
30fa6a8
Rename `DropTreeBuilder::add_entry` to `link_entry_point`
Zalathar Mar 6, 2024
3bd8df9
Assert that `link_entry_point` sees the expected dummy terminator
Zalathar Mar 6, 2024
fbdac30
Rename `DropTree::add_entry` to `add_entry_point`
Zalathar Mar 6, 2024
5ba70bd
Replace tuples in `DropTree` with named structs
Zalathar Mar 6, 2024
d673fd8
Remove the unused `field_remapping` field from `TypeLowering`
beetrees Mar 8, 2024
bf47df8
interpret: do not call machine read hooks during validation
RalfJung Mar 9, 2024
58f6aaa
Improve diagnostics for parenthesized type arguments
wutchzone Mar 7, 2024
3830510
Ignore tests w/ current/next revisions from compare-mode=next-solver
compiler-errors Mar 11, 2024
73fc170
Store backtrace for must_produce_diag
compiler-errors Mar 10, 2024
01e6b43
Mark some next-solver-behavior tests explicitly with revisions
compiler-errors Mar 11, 2024
aea60b0
unix_sigpipe: Replace `inherit` with `sig_dfl` in syntax tests
Enselic Feb 9, 2024
816dc96
bootstrap readme: fix, improve, update
tshepang Mar 11, 2024
279465b
const-checking: add some corner case tests, and fix some nits
RalfJung Mar 2, 2024
fb802f2
promote-not: add test that distinguishes promotion from outer scope rule
RalfJung Mar 11, 2024
8f33766
Rollup merge of #116791 - WaffleLapkin:unparallel-backends, r=oli-obk
matthiaskrgr Mar 11, 2024
ccbeb90
Rollup merge of #119385 - fmease:assoc-const-eq-fixes-2, r=oli-obk,cj…
matthiaskrgr Mar 11, 2024
f477194
Rollup merge of #121893 - RalfJung:const-interior-mut-tests, r=oli-obk
matthiaskrgr Mar 11, 2024
627428c
Rollup merge of #122080 - Zalathar:drop-tree, r=oli-obk
matthiaskrgr Mar 11, 2024
23e4968
Rollup merge of #122152 - wutchzone:120892, r=fmease
matthiaskrgr Mar 11, 2024
0623371
Rollup merge of #122166 - beetrees:remove-field-remapping, r=davidtwco
matthiaskrgr Mar 11, 2024
cb48f18
Rollup merge of #122249 - RalfJung:machine-read-hook, r=oli-obk
matthiaskrgr Mar 11, 2024
1961865
Rollup merge of #122299 - compiler-errors:bt-for-must-diag, r=nnether…
matthiaskrgr Mar 11, 2024
1d4ba52
Rollup merge of #122318 - compiler-errors:next-solver-tests, r=lcnr
matthiaskrgr Mar 11, 2024
4a2a60a
Rollup merge of #122328 - Enselic:sig_dfl-not-inherit, r=davidtwco
matthiaskrgr Mar 11, 2024
2099e04
Rollup merge of #122330 - tshepang:patch-1, r=clubby789
matthiaskrgr Mar 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Assert that link_entry_point sees the expected dummy terminator
  • Loading branch information
Zalathar committed Mar 6, 2024
commit 3bd8df96e12d22793cd8dc694f07becb1f6f4f3d
12 changes: 11 additions & 1 deletion compiler/rustc_mir_build/src/build/scope.rs
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
// `build_drop_trees` doesn't have access to our source_info, so we
// create a dummy terminator now. `TerminatorKind::UnwindResume` is used
// because MIR type checking will panic if it hasn't been overwritten.
// (See `<ExitScopes as DropTreeBuilder>::link_entry_point`.)
self.cfg.terminate(block, source_info, TerminatorKind::UnwindResume);

self.cfg.start_new_block().unit()
Expand Down Expand Up @@ -710,6 +711,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
// `build_drop_trees` doesn't have access to our source_info, so we
// create a dummy terminator now. `TerminatorKind::UnwindResume` is used
// because MIR type checking will panic if it hasn't been overwritten.
// (See `<ExitScopes as DropTreeBuilder>::link_entry_point`.)
self.cfg.terminate(block, source_info, TerminatorKind::UnwindResume);
}

Expand Down Expand Up @@ -1440,7 +1442,15 @@ impl<'tcx> DropTreeBuilder<'tcx> for ExitScopes {
cfg.start_new_block()
}
fn link_entry_point(cfg: &mut CFG<'tcx>, from: BasicBlock, to: BasicBlock) {
cfg.block_data_mut(from).terminator_mut().kind = TerminatorKind::Goto { target: to };
// There should be an existing terminator with real source info and a
// dummy TerminatorKind. Replace it with a proper goto.
// (The dummy is added by `break_scope` and `break_for_else`.)
let term = cfg.block_data_mut(from).terminator_mut();
if let TerminatorKind::UnwindResume = term.kind {
term.kind = TerminatorKind::Goto { target: to };
} else {
span_bug!(term.source_info.span, "unexpected dummy terminator kind: {:?}", term.kind);
}
}
}

Expand Down