about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2025-06-16 12:31:36 +0000
committerCamille GILLOT <gillot.camille@gmail.com>2025-06-16 12:31:36 +0000
commita2d96875a58f0de8cad410a285fb8b4fa0dfa038 (patch)
tree8905fec7ff619a476cfa6e82c87fd5c513481064 /compiler
parenta16b49bb933928facaff9ba9f3a22b98029f9923 (diff)
Add comment.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_mir_transform/src/simplify.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_mir_transform/src/simplify.rs b/compiler/rustc_mir_transform/src/simplify.rs
index 49270f0c5ca..a54e548ad70 100644
--- a/compiler/rustc_mir_transform/src/simplify.rs
+++ b/compiler/rustc_mir_transform/src/simplify.rs
@@ -75,6 +75,8 @@ impl SimplifyCfg {
 
 pub(super) fn simplify_cfg<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
     if CfgSimplifier::new(tcx, body).simplify() {
+        // `simplify` returns that it changed something. We must invalidate the CFG caches as they
+        // are not consistent with the modified CFG any more.
         body.basic_blocks.invalidate_cfg_cache();
     }
     remove_dead_blocks(body);
@@ -123,6 +125,7 @@ impl<'a, 'tcx> CfgSimplifier<'a, 'tcx> {
         // Preserve `SwitchInt` reads on built and analysis MIR, or if `-Zmir-preserve-ub`.
         let preserve_switch_reads = matches!(body.phase, MirPhase::Built | MirPhase::Analysis(_))
             || tcx.sess.opts.unstable_opts.mir_preserve_ub;
+        // Do not clear caches yet. The caller to `simplify` will do it if anything changed.
         let basic_blocks = body.basic_blocks.as_mut_preserves_cfg();
 
         CfgSimplifier { preserve_switch_reads, basic_blocks, pred_count }