diff options
author | Jordy Rose <jediknil@belkadan.com> | 2012-05-08 03:27:20 +0000 |
---|---|---|
committer | Jordy Rose <jediknil@belkadan.com> | 2012-05-08 03:27:20 +0000 |
commit | 2cbc12fa24482889159926aab79e361ebe2e7f91 (patch) | |
tree | ff5b7905dab57ef281ebf0ec4222d474f916a128 /lib/StaticAnalyzer/Core/BasicConstraintManager.cpp | |
parent | 1d8db493f86761df9470254a2ad572fc6abf1bf6 (diff) |
[analyzer] BasicConstraintManager: drop NE-constraints once we have a value.
This could conceivably cut down on state proliferation, although we don't
use BasicConstraintManager by default anymore. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156362 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/BasicConstraintManager.cpp')
-rw-r--r-- | lib/StaticAnalyzer/Core/BasicConstraintManager.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp b/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp index 7a095d57d2..8897756a92 100644 --- a/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp +++ b/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp @@ -333,7 +333,9 @@ BasicConstraintManager::assumeSymLE(ProgramStateRef state, ProgramStateRef BasicConstraintManager::AddEQ(ProgramStateRef state, SymbolRef sym, const llvm::APSInt& V) { - // Create a new state with the old binding replaced. + // Now that we have an actual value, we can throw out the NE-set. + // Create a new state with the old bindings replaced. + state = state->remove<ConstNotEq>(sym); return state->set<ConstEq>(sym, &getBasicVals().getValue(V)); } |