summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2023-04-15 16:05:19 +0000
committerCamille GILLOT <gillot.camille@gmail.com>2023-04-22 12:30:36 +0000
commitdd452ae70ecee1d3e07ca9fc10ce8220b2821578 (patch)
tree0e62620853d3a341191c64fcac4a24f3feb8a9c0
parent629cdb42d364a7de2845d24204c7018e1f9cd406 (diff)
downloadrust-dd452ae70ecee1d3e07ca9fc10ce8220b2821578.tar.gz
Simplify logic.
-rw-r--r--compiler/rustc_mir_transform/src/dataflow_const_prop.rs8
1 files changed, 3 insertions, 5 deletions
diff --git a/compiler/rustc_mir_transform/src/dataflow_const_prop.rs b/compiler/rustc_mir_transform/src/dataflow_const_prop.rs
index 2f1e9366452..3fdf556e15e 100644
--- a/compiler/rustc_mir_transform/src/dataflow_const_prop.rs
+++ b/compiler/rustc_mir_transform/src/dataflow_const_prop.rs
@@ -157,12 +157,10 @@ impl<'tcx> ValueAnalysis<'tcx> for ConstAnalysis<'_, 'tcx> {
// Flood everything now, so we can use `insert_value_idx` directly later.
state.flood(target.as_ref(), self.map());
- let target = self.map().find(target.as_ref());
+ let Some(target) = self.map().find(target.as_ref()) else { return };
- let value_target = target
- .and_then(|target| self.map().apply(target, TrackElem::Field(0_u32.into())));
- let overflow_target = target
- .and_then(|target| self.map().apply(target, TrackElem::Field(1_u32.into())));
+ let value_target = self.map().apply(target, TrackElem::Field(0_u32.into()));
+ let overflow_target = self.map().apply(target, TrackElem::Field(1_u32.into()));
if value_target.is_some() || overflow_target.is_some() {
let (val, overflow) = self.binary_op(state, *op, left, right);