diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-04-29 23:58:03 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-04-29 23:58:03 +0000 |
commit | 9700bd42f0b9b2ee8f610f6ee2c18b4fab9a5331 (patch) | |
tree | ab11a58305c86a12997ee423498f99d618aca96d /clang/lib/Analysis/ValueState.cpp | |
parent | 10bad411594a657a1f5fbd48b3d9e915f1281349 (diff) | |
download | bcm5719-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.cpp | 26 |
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. |