summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/recursion
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-11-03 10:50:56 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-12-11 20:52:04 +0100
commit8db5143b1a1521915c842ebef23cb9fe8fe607ce (patch)
treea5c0a731b84bead61dfb5e22f145cd85e9c334d3 /lldb/packages/Python/lldbsuite/test/functionalities/recursion
parent5882e6f36fd9bfc7382e6763c5591b3497428d83 (diff)
downloadbcm5719-llvm-8db5143b1a1521915c842ebef23cb9fe8fe607ce.tar.gz
bcm5719-llvm-8db5143b1a1521915c842ebef23cb9fe8fe607ce.zip
[InstCombine] Optimize overflow check base on uadd.with.overflow result
Fix for https://bugs.llvm.org/show_bug.cgi?id=40846. This adds a combine for cases where a (a + b) < a style overflow check is performed, but with a + b being the result of uadd.with.overflow, so the overflow result is also already available and we can just use it. Subsequently GVN/CSE will deduplicate the extracts. We can run into this situation if you have both a uadd.with.overflow and a manual add + overflow check in the same function (on the same operands), in which case GVN will rewrite the add to the with.overflow result and leave you with this pattern. The implementation is a bit ugly because I'm handling the various canonicalization edge cases. This does not yet handle the negated version of this pattern. Differential Revision: https://reviews.llvm.org/D58644
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/recursion')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud