summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2019-09-08 17:50:40 +0000
committerRoman Lebedev <lebedev.ri@gmail.com>2019-09-08 17:50:40 +0000
commit64965430db5706a0b235d52663f1fa466b53eed8 (patch)
treeaa4cadfe2eca20bf29da7eb218174e8a5273d5f0 /clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
parentdef6ca8b330fc256e36cc8d08de78ac9b92d9165 (diff)
downloadbcm5719-llvm-64965430db5706a0b235d52663f1fa466b53eed8.tar.gz
bcm5719-llvm-64965430db5706a0b235d52663f1fa466b53eed8.zip
[NFC][InstSimplify] Some tests for dropping null check after uadd.with.overflow of non-null (PR43246)
https://rise4fun.com/Alive/WRzq Name: C <= Y && Y != 0 --> C <= Y iff C != 0 Pre: C != 0 %y_is_nonnull = icmp ne i64 %y, 0 %no_overflow = icmp ule i64 C, %y %r = and i1 %y_is_nonnull, %no_overflow => %r = %no_overflow Name: C <= Y || Y != 0 --> Y != 0 iff C != 0 Pre: C != 0 %y_is_nonnull = icmp ne i64 %y, 0 %no_overflow = icmp ule i64 C, %y %r = or i1 %y_is_nonnull, %no_overflow => %r = %y_is_nonnull Name: C > Y || Y == 0 --> C > Y iff C != 0 Pre: C != 0 %y_is_null = icmp eq i64 %y, 0 %overflow = icmp ugt i64 C, %y %r = or i1 %y_is_null, %overflow => %r = %overflow Name: C > Y && Y == 0 --> Y == 0 iff C != 0 Pre: C != 0 %y_is_null = icmp eq i64 %y, 0 %overflow = icmp ugt i64 C, %y %r = and i1 %y_is_null, %overflow => %r = %y_is_null https://bugs.llvm.org/show_bug.cgi?id=43246 llvm-svn: 371339
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud