summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/CFGReachabilityAnalysis.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rework CFG edges to encode potentially unreachable edges, instead of just ↵Ted Kremenek2014-02-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | making them NULL. This is to support some analyses, like -Wunreachable-code, that will need to recover the original unprunned CFG edges in order to suppress issues that aren't really bugs in practice. There are two important changes here: - AdjacentBlock replaces CFGBlock* for CFG successors/predecessors. This has the size of 2 pointers, instead of 1. This is unlikely to have a significant memory impact on Sema since a single CFG usually exists at one time, but could impact the memory usage of the static analyzer. This could possibly be optimized down to a single pointer with some cleverness. - Predecessors can now contain null predecessors, which means some analyses doing a reverse traversal will need to take into account. This already exists for successors, which contain successor slots for specific branch kinds (e.g., 'if') that expect a fixed number of successors, even if a branch is not reachable. llvm-svn: 202325
* Use pop_back_val() instead of both back() and pop_back().Robert Wilhelm2013-08-231-5/+4
| | | | | | No functionality change intended. llvm-svn: 189112
* remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner2011-07-231-1/+1
| | | | | | | | LLVM.h imports them into the clang namespace. llvm-svn: 135852
* Rename class 'CFGReachabilityAnalysis' to 'CFGReverseBlockReachabilityAnalysis'.Ted Kremenek2011-03-191-3/+3
| | | | | | | | | This rename serves two purposes: - It reflects the actual functionality of this analysis. - We will have more than one reachability analysis. llvm-svn: 127930
* Migrate CFGReachabilityAnalysis out of the IdempotentOperationsChecker and ↵Ted Kremenek2011-02-231-0/+76
into its own analysis file. llvm-svn: 126289
OpenPOWER on IntegriCloud