]> granicus.if.org Git - clang/commit
[analyzer] Let ConstraintManager subclasses provide a more efficient checkNull.
authorJordan Rose <jordan_rose@apple.com>
Wed, 31 Oct 2012 16:44:55 +0000 (16:44 +0000)
committerJordan Rose <jordan_rose@apple.com>
Wed, 31 Oct 2012 16:44:55 +0000 (16:44 +0000)
commitc45bb4dcb648cd8b5250492afe7df254e4157aaa
tree54c9bb463f36becc8d5686757ffb1d88e8bb4b09
parentbfd452ea9b362a0e5d8e2b8d599ad9f4092ce29e
[analyzer] Let ConstraintManager subclasses provide a more efficient checkNull.

Previously, every call to a ConstraintManager's isNull would do a full
assumeDual to test feasibility. Now, ConstraintManagers can override
checkNull if they have a cheaper way to do the same thing.
RangeConstraintManager can do this in less than half the work.

<rdar://problem/12608209>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167138 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
lib/StaticAnalyzer/Core/ConstraintManager.cpp
lib/StaticAnalyzer/Core/RangeConstraintManager.cpp