Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Remove stale comment and tighten code. | Ted Kremenek | 2009-10-20 | 1 | -6/+1 | |
| | | | | llvm-svn: 84697 | |||||
* | Use llvm::OwningPtr in CFGBuilder, fixing a leak on an error path. | Ted Kremenek | 2009-10-20 | 1 | -12/+7 | |
| | | | | llvm-svn: 84695 | |||||
* | Use a BumpPtrAllocator to allocate all aspects of CFG, including CFGBlocks, ↵ | Ted Kremenek | 2009-10-12 | 1 | -63/+72 | |
| | | | | | | | | | | | | successor and predecessor vectors, etc. Speedup: when doing 'clang-cc -analyze -dump-cfg' (without actual printing, just CFG building) on the amalgamated SQLite source (all of SQLite in one source file), runtime reduced by 9%. This fixes: <rdar://problem/7250745> llvm-svn: 83899 | |||||
* | When building CFGs, no longer reverse the statements in the CFGBlock. Instead | Ted Kremenek | 2009-09-24 | 1 | -16/+8 | |
| | | | | | | | | | have the iterators and operator[] handle the traversal of statements, as they are stored in reverse order. Tests show this has no real performance impact, but it does simply the CFG construction logic and will make it slightly easier to change the allocation strategy for CFGBlocks (as we have fewer copies). llvm-svn: 82702 | |||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -97/+97 | |
| | | | | llvm-svn: 81346 | |||||
* | CFG construction: Abort CFG construction when processing a CompoundStmt if any | Ted Kremenek | 2009-08-27 | 1 | -0/+3 | |
| | | | | | | of its subexpressions resulted in a "bad CFG". llvm-svn: 80298 | |||||
* | Don't try to evaluate an expression that is type- or value-dependent while ↵ | Douglas Gregor | 2009-08-24 | 1 | -1/+2 | |
| | | | | | | building the CFG llvm-svn: 79941 | |||||
* | Replace cerr with errs(). | Benjamin Kramer | 2009-08-23 | 1 | -5/+4 | |
| | | | | llvm-svn: 79854 | |||||
* | If the 'while' has an empty body, set the body to the continue target block. | Zhongxing Xu | 2009-08-20 | 1 | -1/+1 | |
| | | | | | | | Although this does not make the CFG more correct, it makes the CFG more beautiful without multiple roots. llvm-svn: 79509 | |||||
* | If the body of for loop is empty, set its body to the continue target. | Zhongxing Xu | 2009-08-20 | 1 | -1/+1 | |
| | | | | | | Otherwise we get a wrong CFG. llvm-svn: 79507 | |||||
* | Add noreturn as a type attribute, handle printing for them and handle | Mike Stump | 2009-07-25 | 1 | -16/+20 | |
| | | | | | | calls to noreturn function pointers when CFG building. llvm-svn: 77089 | |||||
* | Add doxygen comments and simplify expression. | Ted Kremenek | 2009-07-24 | 1 | -1/+6 | |
| | | | | llvm-svn: 76955 | |||||
* | Introduce a new variant type 'TryResult' to represent the result of | Ted Kremenek | 2009-07-24 | 1 | -106/+61 | |
| | | | | | | | | | | | TryEvaluateBool instead of using a raw 'int'. This avoids any confusion of how 'int' converts to bool, and makes the resultant code easier to read. Condense a bunch of 'addSuccessor()' calls in 'if ... else' to use the ternary operator instead. llvm-svn: 76947 | |||||
* | Refactor and push the evaluation as late as possible. | Mike Stump | 2009-07-23 | 1 | -105/+54 | |
| | | | | llvm-svn: 76911 | |||||
* | Improve CFG support for C++ throw expressions. | Mike Stump | 2009-07-22 | 1 | -0/+21 | |
| | | | | llvm-svn: 76814 | |||||
* | Make 'SaveAndRestore' and friends reusable classes in libAnalysis. | Ted Kremenek | 2009-07-22 | 1 | -12/+1 | |
| | | | | llvm-svn: 76795 | |||||
* | Wire up CFG improvements for __builtin_choose_expr. | Mike Stump | 2009-07-21 | 1 | -2/+20 | |
| | | | | llvm-svn: 76531 | |||||
* | Wire up CFG improvements for do { } while () when the condition is known. | Mike Stump | 2009-07-21 | 1 | -7/+26 | |
| | | | | llvm-svn: 76530 | |||||
* | Wire up for statement CFG improvements for conditionals that are known. | Mike Stump | 2009-07-21 | 1 | -10/+31 | |
| | | | | llvm-svn: 76529 | |||||
* | Wire up CFG improvements for while when the condition is known. | Mike Stump | 2009-07-21 | 1 | -6/+26 | |
| | | | | llvm-svn: 76522 | |||||
* | Add yet more analysis for CFGs involving conditionals that are actually ↵ | Mike Stump | 2009-07-20 | 1 | -25/+99 | |
| | | | | | | constant. llvm-svn: 76500 | |||||
* | Fix some fallout from CFGBuilder restructuring: all expressions that we ↵ | Ted Kremenek | 2009-07-18 | 1 | -20/+24 | |
| | | | | | | explicitly handle have the possibility to be block-level expressions. llvm-svn: 76277 | |||||
* | Fix possible null dereference in CFG construction. | Ted Kremenek | 2009-07-17 | 1 | -0/+1 | |
| | | | | llvm-svn: 76261 | |||||
* | Restructure CFG builder to have just one visitor path instead of two. The result | Ted Kremenek | 2009-07-17 | 1 | -328/+407 | |
| | | | | | | | | is an algorithm that is much easier to understand and slightly more efficient. Thanks to Mike Stump for our discussions on the CFGBuilder and his comments that helped prompt this long needed cleanup. llvm-svn: 76250 | |||||
* | Move WalkAST logic for 'ChooseExpr' to 'VisitChooseExpr'. | Ted Kremenek | 2009-07-17 | 1 | -34/+35 | |
| | | | | llvm-svn: 76205 | |||||
* | Move WalkAST logic for 'ConditionalOperator' into 'VisitConditionalOperator'. | Ted Kremenek | 2009-07-17 | 1 | -58/+61 | |
| | | | | llvm-svn: 76202 | |||||
* | Remove stale comments. | Ted Kremenek | 2009-07-17 | 1 | -6/+2 | |
| | | | | llvm-svn: 76196 | |||||
* | clean up this code, add the fixme back. | Chris Lattner | 2009-07-17 | 1 | -11/+6 | |
| | | | | llvm-svn: 76180 | |||||
* | Refactor code into a new CallExpr::getDirectCallee() method. Simplify some | Zhongxing Xu | 2009-07-17 | 1 | -8/+3 | |
| | | | | | | code with the new method. llvm-svn: 76164 | |||||
* | Fixup indentation of rest of switch statement to match llvm coding | Mike Stump | 2009-07-17 | 1 | -690/+667 | |
| | | | | | | | conventions. Also reflowed comments and removed spaces at end of lines and fixed up 80 col violations. llvm-svn: 76140 | |||||
* | Make noreturn functions alter the CFG. | Mike Stump | 2009-07-17 | 1 | -4/+34 | |
| | | | | llvm-svn: 76133 | |||||
* | Move the source-level CFG from libAST to libAnalysis. | Ted Kremenek | 2009-07-16 | 1 | -0/+1924 | |
llvm-svn: 76092 |