Rollup merge of #98930 - tmiasko:pub-basic-blocks, r=oli-obk
Make MIR basic blocks field public This makes it possible to mutably borrow different fields of the MIR body without resorting to methods like `basic_blocks_local_decls_mut_and_var_debug_info`. To preserve validity of control flow graph caches in the presence of modifications, a new struct `BasicBlocks` wraps together basic blocks and control flow graph caches. The `BasicBlocks` dereferences to `IndexVec<BasicBlock, BasicBlockData>`. On the other hand a mutable access requires explicit `as_mut()` call.
This commit is contained in:
commit
5474f56bcf
@ -161,7 +161,7 @@ fn check_fn(
|
||||
// `arg` is a reference as it is `.deref()`ed in the previous block.
|
||||
// Look into the predecessor block and find out the source of deref.
|
||||
|
||||
let ps = &mir.predecessors()[bb];
|
||||
let ps = &mir.basic_blocks.predecessors()[bb];
|
||||
if ps.len() != 1 {
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user