diff options
| author | Olivia Crain <olivia@olivia.dev> | 2020-10-18 23:51:10 -0500 |
|---|---|---|
| committer | Olivia Crain <olivia@olivia.dev> | 2020-10-18 23:51:10 -0500 |
| commit | 17c6c5932c8de780fcd1d06aff230e8cc6bca9f8 (patch) | |
| tree | 493be7070aae724c48936671c5b05222aa2d2989 | |
| parent | fd193f2d7f7ebed086de9977951cac76211533b0 (diff) | |
| download | rust-17c6c5932c8de780fcd1d06aff230e8cc6bca9f8.tar.gz rust-17c6c5932c8de780fcd1d06aff230e8cc6bca9f8.zip | |
Mark InOut operands as used in RWU table with write_place
| -rw-r--r-- | compiler/rustc_passes/src/liveness.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_passes/src/liveness.rs b/compiler/rustc_passes/src/liveness.rs index e88b6cb11e5..7288015e170 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); + succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE | ACC_USE); } 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_expr(expr, succ); + succ = self.propagate_through_place_components(expr, succ); } hir::InlineAsmOperand::SplitInOut { in_expr, out_expr, .. } => { if let Some(expr) = out_expr { |
