Rollup merge of #147480 - cjgillot:invalidate-ctfelimit, r=tmiasko

Do not invalidate CFG caches in CtfeLimit.

This does not matter much, as no optimization pass runs after `CtfeLimit`, but I still find the code cleaner.
This commit is contained in:
Stuart Cook 2025-10-09 18:43:24 +11:00 committed by GitHub
commit 18d470e475
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -28,12 +28,12 @@ impl<'tcx> crate::MirPass<'tcx> for CtfeLimit {
}
})
.collect();
let basic_blocks = body.basic_blocks.as_mut_preserves_cfg();
for index in indices {
insert_counter(
body.basic_blocks_mut()
.get_mut(index)
.expect("basic_blocks index {index} should exist"),
);
let bbdata = &mut basic_blocks[index];
let source_info = bbdata.terminator().source_info;
bbdata.statements.push(Statement::new(source_info, StatementKind::ConstEvalCounter));
}
}
@ -53,10 +53,3 @@ fn has_back_edge(
// Check if any of the dominators of the node are also the node's successor.
node_data.terminator().successors().any(|succ| doms.dominates(succ, node))
}
fn insert_counter(basic_block_data: &mut BasicBlockData<'_>) {
basic_block_data.statements.push(Statement::new(
basic_block_data.terminator().source_info,
StatementKind::ConstEvalCounter,
));
}