diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2020-06-24 02:47:16 +0200 |
|---|---|---|
| committer | Jonas Schievink <jonasschievink@gmail.com> | 2020-09-18 21:23:01 +0200 |
| commit | 572883444899ea0aecd5cd6cdf3466255dd4c7e0 (patch) | |
| tree | d330240fcc833c681e2ccbb343cf2806bd1378e2 | |
| parent | 484db5b08a83bd8875e0e938a0f78ce0a220bb17 (diff) | |
| download | rust-572883444899ea0aecd5cd6cdf3466255dd4c7e0.tar.gz rust-572883444899ea0aecd5cd6cdf3466255dd4c7e0.zip | |
Fix rebase fallout
| -rw-r--r-- | compiler/rustc_mir/src/transform/dest_prop.rs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/compiler/rustc_mir/src/transform/dest_prop.rs b/compiler/rustc_mir/src/transform/dest_prop.rs index cd370837405..f9071ab9d80 100644 --- a/compiler/rustc_mir/src/transform/dest_prop.rs +++ b/compiler/rustc_mir/src/transform/dest_prop.rs @@ -585,12 +585,17 @@ impl Conflicts<'a> { fn record_terminator_conflicts(&mut self, term: &Terminator<'_>) { match &term.kind { - TerminatorKind::DropAndReplace { location, value, target: _, unwind: _ } => { + TerminatorKind::DropAndReplace { + place: dropped_place, + value, + target: _, + unwind: _, + } => { if let Some(place) = value.place() { - if !place.is_indirect() && !location.is_indirect() { + if !place.is_indirect() && !dropped_place.is_indirect() { self.record_local_conflict( place.local, - location.local, + dropped_place.local, "DropAndReplace operand overlap", ); } @@ -613,6 +618,7 @@ impl Conflicts<'a> { destination: Some((dest_place, _)), cleanup: _, from_hir_call: _, + fn_span: _, } => { // No arguments may overlap with the destination. for arg in args.iter().chain(Some(func)) { @@ -701,7 +707,7 @@ impl Conflicts<'a> { InlineAsmOperand::Out { reg: _, late: _, place: None } | InlineAsmOperand::Const { value: _ } | InlineAsmOperand::SymFn { value: _ } - | InlineAsmOperand::SymStatic { value: _ } => {} + | InlineAsmOperand::SymStatic { def_id: _ } => {} } } } @@ -717,7 +723,7 @@ impl Conflicts<'a> { | InlineAsmOperand::In { reg: _, value: _ } | InlineAsmOperand::Out { reg: _, late: _, place: None } | InlineAsmOperand::SymFn { value: _ } - | InlineAsmOperand::SymStatic { value: _ } => {} + | InlineAsmOperand::SymStatic { def_id: _ } => {} } } } @@ -732,7 +738,7 @@ impl Conflicts<'a> { | TerminatorKind::Drop { .. } | TerminatorKind::Assert { .. } | TerminatorKind::GeneratorDrop - | TerminatorKind::FalseEdges { .. } + | TerminatorKind::FalseEdge { .. } | TerminatorKind::FalseUnwind { .. } => {} } } @@ -759,7 +765,7 @@ impl Conflicts<'a> { } /// Merges the conflicts of `a` and `b`, so that each one inherits all conflicts of the other. - /// + /// /// `can_unify` must have returned `true` for the same locals, or this may panic or lead to /// miscompiles. /// |
