diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2023-04-15 16:05:19 +0000 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2023-04-22 12:30:36 +0000 |
| commit | dd452ae70ecee1d3e07ca9fc10ce8220b2821578 (patch) | |
| tree | 0e62620853d3a341191c64fcac4a24f3feb8a9c0 | |
| parent | 629cdb42d364a7de2845d24204c7018e1f9cd406 (diff) | |
| download | rust-dd452ae70ecee1d3e07ca9fc10ce8220b2821578.tar.gz | |
Simplify logic.
| -rw-r--r-- | compiler/rustc_mir_transform/src/dataflow_const_prop.rs | 8 |
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); |
