diff options
author | Ted Kremenek <kremenek@apple.com> | 2011-02-14 18:05:07 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2011-02-14 18:05:07 +0000 |
commit | 3374e033446dc44590dc74db5dd56e41fad30127 (patch) | |
tree | 8b49a096a47c84f52de8c236449a97c8c5870c43 /clang/lib/StaticAnalyzer | |
parent | 5794ef695010e81dad3b2eead1f777268b1449f9 (diff) | |
download | bcm5719-llvm-3374e033446dc44590dc74db5dd56e41fad30127.tar.gz bcm5719-llvm-3374e033446dc44590dc74db5dd56e41fad30127.zip |
Remove dead code in IdempotentOperationChecker.
llvm-svn: 125497
Diffstat (limited to 'clang/lib/StaticAnalyzer')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp index 0b8ebfd285c..8f47f9eb4fe 100644 --- a/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp @@ -91,9 +91,6 @@ private: static bool isConstantOrPseudoConstant(const DeclRefExpr *DR, AnalysisContext *AC); static bool containsNonLocalVarDecl(const Stmt *S); - void getLastRelevantNodes(const CFGBlock *Begin, - const ExplodedNode *N, - ExplodedNodeSet &result); // Hash table and related data structures struct BinaryOperatorData { @@ -762,49 +759,6 @@ bool IdempotentOperationChecker::containsNonLocalVarDecl(const Stmt *S) { return false; } -// Returns the successor nodes of N whose CFGBlocks cannot reach N's CFGBlock. -// This effectively gives us a set of points in the ExplodedGraph where -// subsequent execution could not affect the idempotent operation on this path. -// This is useful for displaying paths after the point of the error, providing -// an example of how this idempotent operation cannot change. -void IdempotentOperationChecker::getLastRelevantNodes( - const CFGBlock *Begin, const ExplodedNode *node, - ExplodedNodeSet &result) { - llvm::SmallVector<const ExplodedNode *, 11> worklist; - llvm::DenseMap<const ExplodedNode *, unsigned> visited; - - worklist.push_back(node); - - while (!worklist.empty()) { - node = worklist.back(); - worklist.pop_back(); - - // Was this node previously visited? - unsigned &visitFlag = visited[node]; - if (visitFlag) - continue; - visitFlag = 1; - - const ProgramPoint &PP = node->getLocation(); - if (const BlockEntrance *BE = dyn_cast<BlockEntrance>(&PP)) { - // Get the CFGBlock and test the reachability - const CFGBlock *CB = BE->getBlock(); - - // If we cannot reach the beginning CFGBlock from this block, then we are - // finished - if (!CRA->isReachable(CB, Begin)) { - result.Add(const_cast<ExplodedNode *>(node)); - continue; - } - } - - // Add unvisited children to the worklist - for (ExplodedNode::const_succ_iterator i = node->succ_begin(), - e = node->succ_end(); i != e; ++i) - worklist.push_back(*i); - } -} - bool IdempotentOperationChecker::CFGReachabilityAnalysis::isReachable( const CFGBlock *Src, const CFGBlock *Dst) { |