about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOlivia Crain <olivia@olivia.dev>2020-10-17 16:36:58 -0500
committerOlivia Crain <olivia@olivia.dev>2020-10-17 16:37:46 -0500
commitfd193f2d7f7ebed086de9977951cac76211533b0 (patch)
tree382d8e9d9d51ee0f1f2bf0a1b3779bfcf3783682
parentcc0b718aaa35bfb2a9ca5dd59078ae7e54dbc4bb (diff)
downloadrust-fd193f2d7f7ebed086de9977951cac76211533b0.tar.gz
rust-fd193f2d7f7ebed086de9977951cac76211533b0.zip
Treat InOut variables like other input variables
-rw-r--r--compiler/rustc_passes/src/liveness.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_passes/src/liveness.rs b/compiler/rustc_passes/src/liveness.rs
index 7288015e170..e88b6cb11e5 100644
--- a/compiler/rustc_passes/src/liveness.rs
+++ b/compiler/rustc_passes/src/liveness.rs
@@ -1174,7 +1174,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
                             }
                         }
                         hir::InlineAsmOperand::InOut { expr, .. } => {
-                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE | ACC_USE);
+                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE);
                         }
                         hir::InlineAsmOperand::SplitInOut { out_expr, .. } => {
                             if let Some(expr) = out_expr {
@@ -1199,7 +1199,7 @@ impl<'a, 'tcx> Liveness<'a, 'tcx> {
                             }
                         }
                         hir::InlineAsmOperand::InOut { expr, .. } => {
-                            succ = self.propagate_through_place_components(expr, succ);
+                            succ = self.propagate_through_expr(expr, succ);
                         }
                         hir::InlineAsmOperand::SplitInOut { in_expr, out_expr, .. } => {
                             if let Some(expr) = out_expr {