[llvm] 68e6025 - Revert "[BuildLibcalls] Mark some libcalls with inaccessiblememonly and inaccessiblemem_or_argmemonly"

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 19 19:01:08 PST 2021


It's helpful to put a reason for a revert into the commit message.

~Craig


On Fri, Feb 19, 2021 at 6:59 PM Dávid Bolvanský via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

>
> Author: Dávid Bolvanský
> Date: 2021-02-20T03:58:53+01:00
> New Revision: 68e6025cf7e37f6da66dfe4e6484fcc921237b42
>
> URL:
> https://github.com/llvm/llvm-project/commit/68e6025cf7e37f6da66dfe4e6484fcc921237b42
> DIFF:
> https://github.com/llvm/llvm-project/commit/68e6025cf7e37f6da66dfe4e6484fcc921237b42.diff
>
> LOG: Revert "[BuildLibcalls] Mark some libcalls with inaccessiblememonly
> and inaccessiblemem_or_argmemonly"
>
> This reverts commit 05d891a19e45687090edcfccfbad334911659eb0.
>
> Added:
>
>
> Modified:
>     llvm/lib/Transforms/Utils/BuildLibCalls.cpp
>     llvm/test/Transforms/InferFunctionAttrs/annotate.ll
>
> Removed:
>
>
>
>
> ################################################################################
> diff  --git a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
> b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
> index 9b6ac3a31e41..dba5403f272a 100644
> --- a/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
> +++ b/llvm/lib/Transforms/Utils/BuildLibCalls.cpp
> @@ -910,7 +910,6 @@ bool llvm::inferLibFuncAttributes(Function &F, const
> TargetLibraryInfo &TLI) {
>      return Changed;
>    case LibFunc_dunder_strdup:
>    case LibFunc_dunder_strndup:
> -    Changed |= setOnlyAccessesInaccessibleMemOrArgMem(F);
>      Changed |= setDoesNotThrow(F);
>      Changed |= setRetDoesNotAlias(F);
>      Changed |= setWillReturn(F);
> @@ -996,20 +995,6 @@ bool llvm::inferLibFuncAttributes(Function &F, const
> TargetLibraryInfo &TLI) {
>      Changed |= setDoesNotCapture(F, 0);
>      Changed |= setDoesNotCapture(F, 1);
>      return Changed;
> -  case LibFunc_Znwj: // new(unsigned int)
> -  case LibFunc_Znwm: // new(unsigned long)
> -  case LibFunc_Znaj: // new[](unsigned int)
> -  case LibFunc_Znam: // new[](unsigned long)
> -  case LibFunc_msvc_new_int: // new(unsigned int)
> -  case LibFunc_msvc_new_longlong: // new(unsigned long long)
> -  case LibFunc_msvc_new_array_int: // new[](unsigned int)
> -  case LibFunc_msvc_new_array_longlong: // new[](unsigned long long)
> -    Changed |= setOnlyAccessesInaccessibleMemory(F);
> -    // Operator new always returns a nonnull noalias pointer
> -    Changed |= setRetNoUndef(F);
> -    Changed |= setRetNonNull(F);
> -    Changed |= setRetDoesNotAlias(F);
> -    return Changed;
>    // TODO: add LibFunc entries for:
>    // case LibFunc_memset_pattern4:
>    // case LibFunc_memset_pattern8:
>
> diff  --git a/llvm/test/Transforms/InferFunctionAttrs/annotate.ll
> b/llvm/test/Transforms/InferFunctionAttrs/annotate.ll
> index e866e12c0e68..5c6ec0b683ca 100644
> --- a/llvm/test/Transforms/InferFunctionAttrs/annotate.ll
> +++ b/llvm/test/Transforms/InferFunctionAttrs/annotate.ll
> @@ -448,7 +448,7 @@ declare i32 @fputs(i8*, %opaque*)
>  ; CHECK: declare noundef i64 @fread(i8* nocapture noundef, i64 noundef,
> i64 noundef, %opaque* nocapture noundef) [[NOFREE_NOUNWIND]]
>  declare i64 @fread(i8*, i64, i64, %opaque*)
>
> -; CHECK: declare void @free(i8* nocapture noundef)
> [[INACCESSIBLEMEMORARGMEMONLY_NOUNWIND:#[0-9]+]]
> +; CHECK: declare void @free(i8* nocapture noundef) [[NOUNWIND:#[0-9]+]]
>  declare void @free(i8*)
>
>  ; CHECK: declare double @frexp(double, i32* nocapture)
> [[NOFREE_NOUNWIND_WILLRETURN]]
> @@ -727,7 +727,7 @@ declare i64 @read(i32, i8*, i64)
>  ; CHECK: declare noundef i64 @readlink(i8* nocapture noundef readonly,
> i8* nocapture noundef, i64 noundef) [[NOFREE_NOUNWIND]]
>  declare i64 @readlink(i8*, i8*, i64)
>
> -; CHECK: declare noalias noundef i8* @realloc(i8* nocapture, i64)
> [[INACCESSIBLEMEMORARGMEMONLY_NOUNWIND]]
> +; CHECK: declare noalias noundef i8* @realloc(i8* nocapture, i64)
> [[NOUNWIND]]
>  declare i8* @realloc(i8*, i64)
>
>  ; CHECK: declare noundef i8* @reallocf(i8*, i64)
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210219/1da47938/attachment.html>


More information about the llvm-commits mailing list