diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-02-26 02:15:56 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-02-26 02:15:56 +0000 |
commit | d763eb91aab5bdecd11825fadb35d6d8cc905f63 (patch) | |
tree | 3883fe0913f866086cc8078c6f43438e6418dcf5 /Analysis/ValueState.cpp | |
parent | 50dd289f45738ed22b7583d52ed2525b927042ff (diff) |
Added lazy "symbolication" of parameter variables and global variables.
Added recording of divide-by-zero and divide-by-uninitialized nodes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47586 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Analysis/ValueState.cpp')
-rw-r--r-- | Analysis/ValueState.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Analysis/ValueState.cpp b/Analysis/ValueState.cpp index 75f719ae6a..03b2996b65 100644 --- a/Analysis/ValueState.cpp +++ b/Analysis/ValueState.cpp @@ -78,8 +78,16 @@ ValueStateManager::RemoveDeadBindings(ValueState St, Stmt* Loc, // Iterate over the variable bindings. for (ValueState::vb_iterator I = St.vb_begin(), E = St.vb_end(); I!=E ; ++I) - if (Liveness.isLive(Loc, I.getKey())) + if (Liveness.isLive(Loc, I.getKey())) { WList.push_back(I.getKey()); + + RVal X = I.getData(); + + for (RVal::symbol_iterator SI = X.symbol_begin(), SE = X.symbol_end(); + SI != SE; ++SI) { + MarkedSymbols.insert(*SI); + } + } // Perform the mark-and-sweep. |