From: Ted Kremenek Date: Tue, 29 Apr 2008 23:58:03 +0000 (+0000) Subject: Simplify RemoveDeadBindings. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad87d25ef55c7cf8984b5557aa235f3884adb141;p=clang 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 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(V))); - RVal X = GetRVal(St, lval::DeclVal(cast(V))); - - if (X.isUnknownOrUndef()) - continue; - - LVal LV = cast(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(LV)) - continue; + if (!isa(X)) + continue; - const lval::DeclVal& LVD = cast(LV); - WList.push_back(LVD.getDecl()); - } + const lval::DeclVal& LVD = cast(X); + WList.push_back(LVD.getDecl()); } // Remove dead variable bindings.