diff options
| author | kadmin <julianknodt@gmail.com> | 2020-10-03 20:57:47 +0000 |
|---|---|---|
| committer | kadmin <julianknodt@gmail.com> | 2021-03-09 16:54:13 +0000 |
| commit | 0fdc07e197e3d0265452e266d038b089b69da6cb (patch) | |
| tree | 077fd2feb45b2dc0e38d5f09e01c6bc516b5973d /compiler/rustc_codegen_ssa | |
| parent | 3a5d45f68cadc8fff4fbb557780f92b403b19c19 (diff) | |
| download | rust-0fdc07e197e3d0265452e266d038b089b69da6cb.tar.gz rust-0fdc07e197e3d0265452e266d038b089b69da6cb.zip | |
Impl StatementKind::CopyNonOverlapping
Diffstat (limited to 'compiler/rustc_codegen_ssa')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/analyze.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/statement.rs | 15 |
2 files changed, 19 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_ssa/src/mir/analyze.rs b/compiler/rustc_codegen_ssa/src/mir/analyze.rs index 289629d9215..5ad9f461472 100644 --- a/compiler/rustc_codegen_ssa/src/mir/analyze.rs +++ b/compiler/rustc_codegen_ssa/src/mir/analyze.rs @@ -293,7 +293,8 @@ impl<'mir, 'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> Visitor<'tcx> | MutatingUseContext::AsmOutput | MutatingUseContext::Borrow | MutatingUseContext::AddressOf - | MutatingUseContext::Projection, + | MutatingUseContext::Projection + | MutatingUseContext::CopyNonOverlapping, ) | PlaceContext::NonMutatingUse( NonMutatingUseContext::Inspect @@ -301,7 +302,8 @@ impl<'mir, 'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> Visitor<'tcx> | NonMutatingUseContext::UniqueBorrow | NonMutatingUseContext::ShallowBorrow | NonMutatingUseContext::AddressOf - | NonMutatingUseContext::Projection, + | NonMutatingUseContext::Projection + | NonMutatingUseContext::CopyNonOverlapping, ) => { self.not_ssa(local); } diff --git a/compiler/rustc_codegen_ssa/src/mir/statement.rs b/compiler/rustc_codegen_ssa/src/mir/statement.rs index 6f74ba77d4c..2c90054b6c7 100644 --- a/compiler/rustc_codegen_ssa/src/mir/statement.rs +++ b/compiler/rustc_codegen_ssa/src/mir/statement.rs @@ -115,6 +115,21 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { self.codegen_coverage(&mut bx, coverage.clone()); bx } + mir::StatementKind::CopyNonOverlapping(box mir::CopyNonOverlapping { + ref src, + ref dst, + ref size, + }) => { + bx.memcpy( + dst, + todo!(), + src, + todo!(), + size, + todo!(), + ); + bx + } mir::StatementKind::FakeRead(..) | mir::StatementKind::Retag { .. } | mir::StatementKind::AscribeUserType(..) |
