[Mlir-commits] [llvm] [mlir] [InferAttrs] Mark errnomem-setting libcalls as such (PR #124742)

Eli Friedman llvmlistbot at llvm.org
Wed Feb 12 14:45:14 PST 2025


================
@@ -604,11 +652,19 @@ bool llvm::inferNonMandatoryLibFuncAttrs(Function &F,
     break;
   case LibFunc_rmdir:
   case LibFunc_remove:
+    Changed |= setRetAndArgsNoUndef(F);
+    Changed |= setDoesNotThrow(F);
+    Changed |= setDoesNotCapture(F, 0);
+    Changed |= setOnlyReadsMemory(F, 0);
+    Changed |=
+        setOnlyAccessesInaccessibleMemOrArgMemOrErrnoMem(F, ModRefInfo::Ref);
+    break;
   case LibFunc_realpath:
     Changed |= setRetAndArgsNoUndef(F);
     Changed |= setDoesNotThrow(F);
     Changed |= setDoesNotCapture(F, 0);
     Changed |= setOnlyReadsMemory(F, 0);
+    Changed |= setOnlyAccessesArgMemOrErrnoMem(F);
----------------
efriedma-quic wrote:

realpath accesses the filesystem?

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


More information about the Mlir-commits mailing list