summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/CFG.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add noreturn as a type attribute, handle printing for them and handleMike Stump2009-07-251-16/+20
| | | | | | calls to noreturn function pointers when CFG building. llvm-svn: 77089
* Add doxygen comments and simplify expression.Ted Kremenek2009-07-241-1/+6
| | | | llvm-svn: 76955
* Introduce a new variant type 'TryResult' to represent the result ofTed Kremenek2009-07-241-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 Stump2009-07-231-105/+54
| | | | llvm-svn: 76911
* Improve CFG support for C++ throw expressions.Mike Stump2009-07-221-0/+21
| | | | llvm-svn: 76814
* Make 'SaveAndRestore' and friends reusable classes in libAnalysis.Ted Kremenek2009-07-221-12/+1
| | | | llvm-svn: 76795
* Wire up CFG improvements for __builtin_choose_expr.Mike Stump2009-07-211-2/+20
| | | | llvm-svn: 76531
* Wire up CFG improvements for do { } while () when the condition is known.Mike Stump2009-07-211-7/+26
| | | | llvm-svn: 76530
* Wire up for statement CFG improvements for conditionals that are known.Mike Stump2009-07-211-10/+31
| | | | llvm-svn: 76529
* Wire up CFG improvements for while when the condition is known.Mike Stump2009-07-211-6/+26
| | | | llvm-svn: 76522
* Add yet more analysis for CFGs involving conditionals that are actually ↵Mike Stump2009-07-201-25/+99
| | | | | | constant. llvm-svn: 76500
* Fix some fallout from CFGBuilder restructuring: all expressions that we ↵Ted Kremenek2009-07-181-20/+24
| | | | | | explicitly handle have the possibility to be block-level expressions. llvm-svn: 76277
* Fix possible null dereference in CFG construction.Ted Kremenek2009-07-171-0/+1
| | | | llvm-svn: 76261
* Restructure CFG builder to have just one visitor path instead of two. The resultTed Kremenek2009-07-171-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 Kremenek2009-07-171-34/+35
| | | | llvm-svn: 76205
* Move WalkAST logic for 'ConditionalOperator' into 'VisitConditionalOperator'.Ted Kremenek2009-07-171-58/+61
| | | | llvm-svn: 76202
* Remove stale comments.Ted Kremenek2009-07-171-6/+2
| | | | llvm-svn: 76196
* clean up this code, add the fixme back.Chris Lattner2009-07-171-11/+6
| | | | llvm-svn: 76180
* Refactor code into a new CallExpr::getDirectCallee() method. Simplify someZhongxing Xu2009-07-171-8/+3
| | | | | | code with the new method. llvm-svn: 76164
* Fixup indentation of rest of switch statement to match llvm codingMike Stump2009-07-171-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 Stump2009-07-171-4/+34
| | | | llvm-svn: 76133
* Move the source-level CFG from libAST to libAnalysis.Ted Kremenek2009-07-161-0/+1924
llvm-svn: 76092
OpenPOWER on IntegriCloud