OSDN Git Service

Merge isKnownNonNull into isKnownNonZero
authorNuno Lopes <nunoplopes@sapo.pt>
Sat, 9 Sep 2017 18:23:11 +0000 (18:23 +0000)
committerNuno Lopes <nunoplopes@sapo.pt>
Sat, 9 Sep 2017 18:23:11 +0000 (18:23 +0000)
commitfe353a0cbf68fc7f9ebdda606c90b81da75ac936
tree68a953bd83d1cc5e9da25e512a3c0a50587c1f31
parenta22f9f24054f0525fe1090b3fa665bd4fc0921c3
Merge isKnownNonNull into isKnownNonZero
It now knows the tricks of both functions.
Also, fix a bug that considered allocas of non-zero address space to be always non null

Differential Revision: https://reviews.llvm.org/D37628

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312869 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/llvm/Analysis/ValueTracking.h
lib/Analysis/InstructionSimplify.cpp
lib/Analysis/LazyValueInfo.cpp
lib/Analysis/Loads.cpp
lib/Analysis/ValueTracking.cpp
lib/Transforms/IPO/FunctionAttrs.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
lib/Transforms/Utils/PromoteMemoryToRegister.cpp
test/Other/cgscc-libcall-update.ll
test/Transforms/FunctionAttrs/nonnull.ll
test/Transforms/InstCombine/lifetime.ll
test/Transforms/InstCombine/memcpy-addrspace.ll
test/Transforms/InstCombine/memcpy-from-global.ll
test/Transforms/InstCombine/strcpy_chk-64.ll
test/Transforms/InstCombine/strlen-1.ll
test/Transforms/InstCombine/wcslen-1.ll
test/Transforms/InstCombine/wcslen-3.ll