[llvm] [MemCpyOpt] Avoid infinite loops in `MemCpyOptPass::processMemCpyMemCpyDependence` (PR #103218)

via llvm-commits llvm-commits at lists.llvm.org
Sat May 17 05:26:02 PDT 2025


================
@@ -1198,6 +1198,10 @@ bool MemCpyOptPass::processMemCpyMemCpyDependence(MemCpyInst *M,
       CopySourceAlign = commonAlignment(*CopySourceAlign, MForwardOffset);
   }
 
+  // Avoid infinite loops
+  if (BAA.isMustAlias(M->getSource(), CopySource))
----------------
dianqk wrote:

> I tried to change this check into `BAA.isMustAlias(M->getSource(), MDep->getSource())`. But it doesn't work.

This appears to should be `BAA.isMustAlias(MDep->getDest(), MDep->getSource())` #140376.

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


More information about the llvm-commits mailing list