diff options
author | Mikhail R. Gadelha <mikhail.ramalho@gmail.com> | 2018-06-29 18:11:43 +0000 |
---|---|---|
committer | Mikhail R. Gadelha <mikhail.ramalho@gmail.com> | 2018-06-29 18:11:43 +0000 |
commit | 38049a51bda3a7f453507c2cb42734b74ee7e6ae (patch) | |
tree | a6078a5d7bcd79e073f7a371540ad7b213451014 /libunwind | |
parent | 36a25677ae00482d832850b610ac365057fd1656 (diff) | |
download | bcm5719-llvm-38049a51bda3a7f453507c2cb42734b74ee7e6ae.tar.gz bcm5719-llvm-38049a51bda3a7f453507c2cb42734b74ee7e6ae.zip |
[analyzer] Replace the vector of ConstraintSets by a single ConstraintSet and a function to merge ConstraintSets
Now, instead of adding the constraints when they are removed, this patch adds them when they first appear and, since we walk the bug report backward, it should be the last set of ranges generated by the CSA for a given symbol.
These are the number before and after the patch:
```
Project | current | patch |
tmux | 283.222 | 123.052 |
redis | 614.858 | 400.347 |
openssl | 308.292 | 307.149 |
twin | 274.478 | 245.411 |
git | 547.687 | 477.335 |
postgresql | 2927.495 | 2002.526 |
sqlite3 | 3264.305 | 1028.416 |
```
Major speedups in tmux and sqlite (less than half of the time), redis and postgresql were about 25% faster while the rest are basically the same.
Reviewers: NoQ, george.karpenkov
Reviewed By: george.karpenkov
Subscribers: rnkovacs, xazax.hun, szepet, a.sidorin
Differential Revision: https://reviews.llvm.org/D48565
llvm-svn: 336002
Diffstat (limited to 'libunwind')
0 files changed, 0 insertions, 0 deletions