[llvm] [MemCpyOpt] No need to create `memcpy(a <- a)` (PR #98321)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 10 07:37:00 PDT 2024


================
@@ -1161,6 +1161,14 @@ bool MemCpyOptPass::processMemCpyMemCpyDependence(MemCpyInst *M,
                      MSSA->getMemoryAccess(MDep), MSSA->getMemoryAccess(M)))
     return false;
 
+  // No need to create `memcpy(a <- a)`.
+  if (BAA.isMustAlias(M->getDest(), MDep->getRawSource())) {
----------------
nikic wrote:

It's already checked here: https://github.com/llvm/llvm-project/blob/385ace339a9fc6fcff429d30da5667a25f0a9888/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp#L1670

https://github.com/llvm/llvm-project/pull/98321


More information about the llvm-commits mailing list