aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ValueState.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-04-29 23:58:03 +0000
committerTed Kremenek <kremenek@apple.com>2008-04-29 23:58:03 +0000
commitad87d25ef55c7cf8984b5557aa235f3884adb141 (patch)
tree372bd6d76a611f86493874620b2ec6a4e20237c1 /lib/Analysis/ValueState.cpp
parente2013f5646cb4a09b71e2708fbe9f8df43f5d7d6 (diff)
Simplify RemoveDeadBindings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50458 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/ValueState.cpp')
-rw-r--r--lib/Analysis/ValueState.cpp26
1 files changed, 9 insertions, 17 deletions
diff --git a/lib/Analysis/ValueState.cpp b/lib/Analysis/ValueState.cpp
index edc5b6d004..19ff06f004 100644
--- a/lib/Analysis/ValueState.cpp
+++ b/lib/Analysis/ValueState.cpp
@@ -106,26 +106,18 @@ ValueStateManager::RemoveDeadBindings(ValueState* St, Stmt* Loc,
Marked.insert(V);
- if (V->getType()->isPointerType()) {
+ RVal X = GetRVal(St, lval::DeclVal(cast<VarDecl>(V)));
- RVal X = GetRVal(St, lval::DeclVal(cast<VarDecl>(V)));
-
- if (X.isUnknownOrUndef())
- continue;
-
- LVal LV = cast<LVal>(X);
-
- for (RVal::symbol_iterator SI = LV.symbol_begin(), SE = LV.symbol_end();
- SI != SE; ++SI) {
- MarkedSymbols.insert(*SI);
- }
+ for (RVal::symbol_iterator SI = X.symbol_begin(), SE = X.symbol_end();
+ SI != SE; ++SI) {
+ MarkedSymbols.insert(*SI);
+ }
- if (!isa<lval::DeclVal>(LV))
- continue;
+ if (!isa<lval::DeclVal>(X))
+ continue;
- const lval::DeclVal& LVD = cast<lval::DeclVal>(LV);
- WList.push_back(LVD.getDecl());
- }
+ const lval::DeclVal& LVD = cast<lval::DeclVal>(X);
+ WList.push_back(LVD.getDecl());
}
// Remove dead variable bindings.