diff --git a/lib/Transforms/Scalar/SimplifyLibCalls.cpp b/lib/Transforms/Scalar/SimplifyLibCalls.cpp index 1100d6dd77e..99b05389b2b 100644 --- a/lib/Transforms/Scalar/SimplifyLibCalls.cpp +++ b/lib/Transforms/Scalar/SimplifyLibCalls.cpp @@ -1942,6 +1942,7 @@ void SimplifyLibCalls::inferPrototypeAttributes(Function &F) { !FTy->getReturnType()->isPointerTy()) return; setDoesNotThrow(F); + setDoesNotAlias(F, 0); setDoesNotCapture(F, 1); } else if (Name == "read") { if (FTy->getNumParams() != 3 || diff --git a/test/Transforms/SimplifyLibCalls/2009-01-04-Annotate.ll b/test/Transforms/SimplifyLibCalls/2009-01-04-Annotate.ll index d557484f2a8..73eb05b05e3 100644 --- a/test/Transforms/SimplifyLibCalls/2009-01-04-Annotate.ll +++ b/test/Transforms/SimplifyLibCalls/2009-01-04-Annotate.ll @@ -1,5 +1,5 @@ ; RUN: opt < %s -simplify-libcalls -S > %t -; RUN: grep noalias %t | count 1 +; RUN: grep noalias %t | count 2 ; RUN: grep nocapture %t | count 3 ; RUN: grep nounwind %t | count 3 ; RUN: grep readonly %t | count 1