Skip to content

Commit 94b2c30

Browse files
committed
Use traversal::postorder.
1 parent 1ac5d4c commit 94b2c30

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

compiler/rustc_mir_transform/src/remove_noop_landing_pads.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ impl<'tcx> crate::MirPass<'tcx> for RemoveNoopLandingPads {
3434

3535
// This is a post-order traversal, so that if A post-dominates B
3636
// then A will be visited before B.
37-
for &bb in body.basic_blocks.reverse_postorder().iter().rev() {
38-
let is_nop_landing_pad = self.is_nop_landing_pad(bb, body, &nop_landing_pads);
37+
for (bb, bbdata) in traversal::postorder(body) {
38+
let is_nop_landing_pad = self.is_nop_landing_pad(bbdata, &nop_landing_pads);
3939
debug!("is_nop_landing_pad({bb:?}) = {is_nop_landing_pad}");
4040
if is_nop_landing_pad {
4141
nop_landing_pads.insert(bb);
@@ -85,11 +85,10 @@ impl<'tcx> crate::MirPass<'tcx> for RemoveNoopLandingPads {
8585
impl RemoveNoopLandingPads {
8686
fn is_nop_landing_pad(
8787
&self,
88-
bb: BasicBlock,
89-
body: &Body<'_>,
88+
bbdata: &BasicBlockData<'_>,
9089
nop_landing_pads: &DenseBitSet<BasicBlock>,
9190
) -> bool {
92-
for stmt in &body[bb].statements {
91+
for stmt in &bbdata.statements {
9392
match &stmt.kind {
9493
StatementKind::FakeRead(..)
9594
| StatementKind::StorageLive(_)
@@ -122,7 +121,7 @@ impl RemoveNoopLandingPads {
122121
}
123122
}
124123

125-
let terminator = body[bb].terminator();
124+
let terminator = bbdata.terminator();
126125
match terminator.kind {
127126
TerminatorKind::Goto { .. }
128127
| TerminatorKind::UnwindResume

0 commit comments

Comments
 (0)