summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/thread
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2019-09-24 16:10:38 +0000
committerRoman Lebedev <lebedev.ri@gmail.com>2019-09-24 16:10:38 +0000
commit5b881f356cfecd2849fd5063c1fd816e7bbb35f7 (patch)
tree3e96716d5a7c5857c936ba119a436d5a72d7acf3 /lldb/packages/Python/lldbsuite/test/python_api/thread
parent682d41a506dec31c24ea7c5e3440155ef8f6110b (diff)
downloadbcm5719-llvm-5b881f356cfecd2849fd5063c1fd816e7bbb35f7.tar.gz
bcm5719-llvm-5b881f356cfecd2849fd5063c1fd816e7bbb35f7.zip
[InstCombine] (a+b) <= a && (a+b) != 0 -> (0-b) < a (PR43259)
Summary: This is again motivated by D67122 sanitizer check enhancement. That patch seemingly worsens `-fsanitize=pointer-overflow` overhead from 25% to 50%, which strongly implies missing folds. This pattern isn't exactly what we get there (strict vs. non-strict predicate), but this pattern does not require known-bits analysis, so it is best to handle it first. ``` Name: 0 %adjusted = add i8 %base, %offset %not_null = icmp ne i8 %adjusted, 0 %no_underflow = icmp ule i8 %adjusted, %base %r = and i1 %not_null, %no_underflow => %neg_offset = sub i8 0, %offset %r = icmp ugt i8 %base, %neg_offset ``` https://rise4fun.com/Alive/knp There are 3 other variants of this pattern, they all will go into InstSimplify: https://rise4fun.com/Alive/bIDZ https://bugs.llvm.org/show_bug.cgi?id=43259 Reviewers: spatel, xbolva00, nikic Reviewed By: spatel Subscribers: hiraditya, majnemer, vsk, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67846 llvm-svn: 372767
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/thread')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud