[llvm] [LoopIdiom] Don't convert `memset.inline` into `memset` (PR #227650)

Ömer Sinan Ağacan via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 30 04:25:06 PDT 2026


================
@@ -837,8 +837,10 @@ bool LoopIdiomRecognize::processLoopMemCpy(MemCpyInst *MCI,
   if (MCI->isVolatile() || !isa<ConstantInt>(MCI->getLength()))
     return false;
 
-  // If we're not allowed to hack on memcpy, we fail.
-  if ((!HasMemcpy && !MCI->isForceInlined()) || DisableLIRP::Memcpy)
+  // If we're not allowed to hack on memcpy, we fail. We don't mess with the
+  // inlined version as generating a larger inline mempcy could affect code
+  // size.
+  if (!HasMemcpy || MCI->isForceInlined() || DisableLIRP::Memcpy)
----------------
osa1 wrote:

Test already exists: llvm/test/Transforms/LoopIdiom/memcpy-inline-intrinsic.ll
Updated the commit message.

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


More information about the llvm-commits mailing list