about summary refs log tree commit diff
path: root/compiler/rustc_mir
diff options
context:
space:
mode:
authorTomasz Miąsko <tomasz.miasko@gmail.com>2020-10-17 00:00:00 +0000
committerTomasz Miąsko <tomasz.miasko@gmail.com>2020-10-26 10:48:28 +0100
commit4c3e06a0ba557c5915d8c00f23455461549f07f6 (patch)
treee0b64a5783458c55f6c30a60969b3268055bc5ba /compiler/rustc_mir
parent52d37826858ee4dad6b66a3060994f41df247770 (diff)
downloadrust-4c3e06a0ba557c5915d8c00f23455461549f07f6.tar.gz
rust-4c3e06a0ba557c5915d8c00f23455461549f07f6.zip
simplify-locals: Remove unused assignments regardless of rvalue kind
Diffstat (limited to 'compiler/rustc_mir')
-rw-r--r--compiler/rustc_mir/src/transform/simplify.rs26
1 files changed, 1 insertions, 25 deletions
diff --git a/compiler/rustc_mir/src/transform/simplify.rs b/compiler/rustc_mir/src/transform/simplify.rs
index 183111877d1..b7c9a3a8688 100644
--- a/compiler/rustc_mir/src/transform/simplify.rs
+++ b/compiler/rustc_mir/src/transform/simplify.rs
@@ -439,31 +439,7 @@ impl Visitor<'_> for UsedLocals {
             StatementKind::StorageLive(_local) | StatementKind::StorageDead(_local) => {}
 
             StatementKind::Assign(box (ref place, ref rvalue)) => {
-                let can_skip = match rvalue {
-                    Rvalue::Use(_)
-                    | Rvalue::Discriminant(_)
-                    | Rvalue::BinaryOp(_, _, _)
-                    | Rvalue::CheckedBinaryOp(_, _, _)
-                    | Rvalue::Repeat(_, _)
-                    | Rvalue::AddressOf(_, _)
-                    | Rvalue::Len(_)
-                    | Rvalue::UnaryOp(_, _)
-                    | Rvalue::Aggregate(_, _) => true,
-
-                    Rvalue::Ref(..)
-                    | Rvalue::ThreadLocalRef(..)
-                    | Rvalue::Cast(..)
-                    | Rvalue::NullaryOp(..) => false,
-                };
-                if can_skip {
-                    self.visit_lhs(place, location);
-                } else {
-                    self.visit_place(
-                        place,
-                        PlaceContext::MutatingUse(MutatingUseContext::Store),
-                        location,
-                    );
-                }
+                self.visit_lhs(place, location);
                 self.visit_rvalue(rvalue, location);
             }