[ValueTracking] Handle constant exprs in isKnownNonZero()
authorNikita Popov <npopov@redhat.com>
Tue, 4 Oct 2022 09:08:45 +0000 (11:08 +0200)
committerNikita Popov <npopov@redhat.com>
Tue, 4 Oct 2022 09:58:07 +0000 (11:58 +0200)
commit6e504d637dcf757c8840c36b01b03344c6b15cff
tree587ac79f7d0a57071aff7c7417bf322f9abe96ff
parent0d30e92f59589de44a185c53671b7fe2e83cd2ae
[ValueTracking] Handle constant exprs in isKnownNonZero()

Handle constant expressions by falling through to the general
operator-based code. In particular, this adds support for bitcast
and GEP expressions.
42 files changed:
clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
llvm/lib/Analysis/ValueTracking.cpp
llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
llvm/test/Transforms/Coroutines/coro-async.ll
llvm/test/Transforms/Inline/cgscc-cycle.ll
llvm/test/Transforms/InstCombine/assume_inevitable.ll
llvm/test/Transforms/InstCombine/deref-alloc-fns.ll
llvm/test/Transforms/InstCombine/element-atomic-memintrins.ll
llvm/test/Transforms/InstCombine/err-rep-cold.ll
llvm/test/Transforms/InstCombine/fortify-folding.ll
llvm/test/Transforms/InstCombine/fputs-1.ll
llvm/test/Transforms/InstCombine/gepphigep.ll
llvm/test/Transforms/InstCombine/getelementptr.ll
llvm/test/Transforms/InstCombine/memccpy.ll
llvm/test/Transforms/InstCombine/memcmp-5.ll
llvm/test/Transforms/InstCombine/memcmp-8.ll
llvm/test/Transforms/InstCombine/memcpy-from-global.ll
llvm/test/Transforms/InstCombine/memmove.ll
llvm/test/Transforms/InstCombine/memmove_chk-1.ll
llvm/test/Transforms/InstCombine/memrchr-3.ll
llvm/test/Transforms/InstCombine/memrchr-4.ll
llvm/test/Transforms/InstCombine/memrchr-8.ll
llvm/test/Transforms/InstCombine/memset_chk-1.ll
llvm/test/Transforms/InstCombine/objsize.ll
llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
llvm/test/Transforms/InstCombine/simplify-libcalls.ll
llvm/test/Transforms/InstCombine/stdio-custom-dl.ll
llvm/test/Transforms/InstCombine/stpcpy-1.ll
llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
llvm/test/Transforms/InstCombine/stpncpy-1.ll
llvm/test/Transforms/InstCombine/str-int-3.ll
llvm/test/Transforms/InstCombine/str-int-4.ll
llvm/test/Transforms/InstCombine/str-int-5.ll
llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
llvm/test/Transforms/InstCombine/strcall-no-nul.ll
llvm/test/Transforms/InstCombine/wcslen-1.ll
llvm/test/Transforms/InstCombine/wcslen-3.ll
llvm/test/Transforms/InstCombine/wcslen-4.ll
llvm/test/Transforms/InstCombine/wcslen-5.ll
llvm/test/Transforms/WholeProgramDevirt/branch-funnel.ll