Commit Graph

6 Commits

Author SHA1 Message Date
Gabor Horvath 9543a4b681 [analyzer] Avoid an allocation in Std C function modelling
Differential Revision: https://reviews.llvm.org/D33095

llvm-svn: 302879
2017-05-12 06:53:55 +00:00
Dominic Chen 3f8c3fa72f [analyzer] Rename assumeWithinInclusiveRange*()
Summary: The name is slightly confusing, since the constraint is not necessarily within the range unless `Assumption` is true. Split out renaming for ConstraintManager.h from D26061

Reviewers: zaks.anna, dcoughlin

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D26644

llvm-svn: 286927
2016-11-15 01:54:41 +00:00
Artem Dergachev 47fec16cd1 [analyzer] StdLibraryFunctions: provide platform-specific function summaries.
Because standard functions can be defined differently on different platforms,
this commit introduces a method for constructing summaries with multiple
variants, whichever matches better. It is also useful for supporting overloads.

Differential Revision: https://reviews.llvm.org/D25940

llvm-svn: 285852
2016-11-02 19:35:20 +00:00
Simon Pilgrim be1d49a508 Fix MSVC unused variable warning.
LLVM_ATTRIBUTE_UNUSED doesn't work for non-gcc style compilers.

llvm-svn: 285067
2016-10-25 12:59:15 +00:00
Artem Dergachev 26b0a9d8ac [analyzer] Use unsigned integers to rely on well-defined overflow semantics.
Found by the UBSan buildbot.

llvm-svn: 285000
2016-10-24 18:49:04 +00:00
Artem Dergachev bba497fb65 [analyzer] Add StdLibraryFunctions checker.
This checker does not emit reports, however it influences the analysis
by providing complete summaries for, or otherwise improving modeling of,
various standard library functions.

This should reduce the number of infeasible paths explored during analysis.
The custom function summary format used in this checker is superior to
body farms by causing less unnecessary state splits,
which would result in better analysis performance.

Differential Revision: https://reviews.llvm.org/D20811

llvm-svn: 284960
2016-10-24 09:41:38 +00:00