[all-commits] [llvm/llvm-project] 33b0c6: [Libcalls, Attrs] Annotate libcalls with noundef
Dávid Bolvanský via All-commits
all-commits at lists.llvm.org
Fri Feb 19 19:10:35 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 33b0c63775ce58014c55e285671e3315104a6076
https://github.com/llvm/llvm-project/commit/33b0c63775ce58014c55e285671e3315104a6076
Author: Dávid Bolvanský <david.bolvansky at gmail.com>
Date: 2021-02-20 (Sat, 20 Feb 2021)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Analysis/BasicAA/gep-alias.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/memcpyopt.ll
M llvm/test/Other/cgscc-libcall-update.ll
M llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/ARM/strcmp.ll
M llvm/test/Transforms/InstCombine/align-addr.ll
M llvm/test/Transforms/InstCombine/fortify-folding.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/malloc-free-delete.ll
M llvm/test/Transforms/InstCombine/mem-deref-bytes-addrspaces.ll
M llvm/test/Transforms/InstCombine/mem-deref-bytes.ll
M llvm/test/Transforms/InstCombine/memccpy.ll
M llvm/test/Transforms/InstCombine/memchr.ll
M llvm/test/Transforms/InstCombine/memcmp-constant-fold.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/memcpy-to-load.ll
M llvm/test/Transforms/InstCombine/memcpy.ll
M llvm/test/Transforms/InstCombine/memcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/memmove_chk-1.ll
M llvm/test/Transforms/InstCombine/mempcpy.ll
M llvm/test/Transforms/InstCombine/memset-1.ll
M llvm/test/Transforms/InstCombine/memset_chk-1.ll
M llvm/test/Transforms/InstCombine/objsize.ll
M llvm/test/Transforms/InstCombine/printf-1.ll
M llvm/test/Transforms/InstCombine/puts-1.ll
M llvm/test/Transforms/InstCombine/snprintf.ll
M llvm/test/Transforms/InstCombine/sprintf-1.ll
M llvm/test/Transforms/InstCombine/stpcpy-1.ll
M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/strchr-1.ll
M llvm/test/Transforms/InstCombine/strcmp-1.ll
M llvm/test/Transforms/InstCombine/strcmp-memcmp.ll
M llvm/test/Transforms/InstCombine/strcpy-1.ll
M llvm/test/Transforms/InstCombine/strcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/strcspn-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strlen-2.ll
M llvm/test/Transforms/InstCombine/strncat-2.ll
M llvm/test/Transforms/InstCombine/strncmp-1.ll
M llvm/test/Transforms/InstCombine/strncpy-1.ll
M llvm/test/Transforms/InstCombine/strncpy-3.ll
M llvm/test/Transforms/InstCombine/strncpy_chk-1.ll
M llvm/test/Transforms/InstCombine/strpbrk-1.ll
M llvm/test/Transforms/InstCombine/strrchr-1.ll
M llvm/test/Transforms/InstCombine/strstr-1.ll
M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
M llvm/test/Transforms/MemCpyOpt/lifetime.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
M llvm/test/Transforms/MemCpyOpt/pr29105.ll
Log Message:
-----------
[Libcalls, Attrs] Annotate libcalls with noundef
I think we can use here same logic as for nonnull.
strlen(X) - X must be noundef => valid pointer.
for libcalls with size arg, we add noundef only if size is known and greater than 0 - so pointers must be noundef (valid ones)
Reviewed By: jdoerfert, aqjune
Differential Revision: https://reviews.llvm.org/D95122
More information about the All-commits
mailing list