summaryrefslogtreecommitdiffstats
path: root/clang/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
commit9700bd42f0b9b2ee8f610f6ee2c18b4fab9a5331 (patch)
treeab11a58305c86a12997ee423498f99d618aca96d /clang/lib/Analysis/ValueState.cpp
parent10bad411594a657a1f5fbd48b3d9e915f1281349 (diff)
downloadbcm5719-llvm-9700bd42f0b9b2ee8f610f6ee2c18b4fab9a5331.tar.gz
bcm5719-llvm-9700bd42f0b9b2ee8f610f6ee2c18b4fab9a5331.zip
Simplify RemoveDeadBindings.
llvm-svn: 50458
Diffstat (limited to 'clang/lib/Analysis/ValueState.cpp')
-rw-r--r--clang/lib/Analysis/ValueState.cpp26
1 files changed, 9 insertions, 17 deletions
diff --git a/clang/lib/Analysis/ValueState.cpp b/clang/lib/Analysis/ValueState.cpp
index edc5b6d0048..19ff06f0044 100644
--- a/clang/lib/Analysis/ValueState.cpp
+++ b/clang/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.
OpenPOWER on IntegriCloud