Simplify RemoveDeadBindings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50458 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/ValueState.cpp b/lib/Analysis/ValueState.cpp
index edc5b6d..19ff06f 100644
--- a/lib/Analysis/ValueState.cpp
+++ b/lib/Analysis/ValueState.cpp
@@ -106,26 +106,18 @@
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)));
+ for (RVal::symbol_iterator SI = X.symbol_begin(), SE = X.symbol_end();
+ SI != SE; ++SI) {
+ MarkedSymbols.insert(*SI);
+ }
- if (X.isUnknownOrUndef())
- continue;
+ if (!isa<lval::DeclVal>(X))
+ continue;
- LVal LV = cast<LVal>(X);
-
- for (RVal::symbol_iterator SI = LV.symbol_begin(), SE = LV.symbol_end();
- SI != SE; ++SI) {
- MarkedSymbols.insert(*SI);
- }
-
- if (!isa<lval::DeclVal>(LV))
- 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.