30a2e16f6c27f888dd11eba6bbbae1e980078fcb |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort #include lines for all files under include/... This is a simpler sort, entirely automatic with the help of llvm/utils/sort_includes.py -- no manual edits here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
9c378f705405d37f49795d5e915989de774fe11f |
|
13-Aug-2011 |
Ted Kremenek <kremenek@apple.com> |
Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
686775deca8b8685eb90801495880e3abdd844c2 |
|
20-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
now that we have a centralized place to do so, add some using declarations for some common llvm types: stringref and smallvector. This cleans up the codebase quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
3c0349e87cdbd7316d06d2411d86ee1086e717a5 |
|
01-Mar-2011 |
Ted Kremenek <kremenek@apple.com> |
In preparation for fixing PR 6884, rework CFGElement to have getAs<> return pointers instead of fresh CFGElements. - Also, consoldiate getDtorKind() and getKind() into one "kind". - Add empty getDestructorDecl() method to CFGImplicitDtor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
848ec83483ca4ba52ed72c7e29ebc330f8c87252 |
|
12-Feb-2011 |
Ted Kremenek <kremenek@apple.com> |
Don't report dead stores on unreachable code paths. Fixes <rdar://problem/8405222>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
90392b21e3a0571af6db6ba58951723b8b570cb0 |
|
16-Sep-2010 |
John McCall <rjmccall@apple.com> |
Fix the clang build after Zhongxing Xu's commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
b36cd3e1757fb4fcd9509f35558c847b04bef35f |
|
16-Sep-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
Introduce new CFGElement hierarchy to support C++ CFG, based on Marcin's patch and discussions with Ted and Jordy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
cdd209dd9eb22a33cc9017f6605375fd17c9e809 |
|
23-Jul-2010 |
Ted Kremenek <kremenek@apple.com> |
Dataflow solver: Don't overrwite the initial value of a block with top unless new values are available. Patch by Simone Pellegrini! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
0798df70753a5feee0e79f2b51f3d4f50127325d |
|
31-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
For reverse data flow analyses, enqueue the blocks in reverse order. This more likely matches with the ideal order the blocks should be visited. This shaves another 1% off the -fsyntax-only time for compare.c (403.gcc). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
2405a0addc2bc627392d9bfe2874bd9431d81d55 |
|
31-Mar-2010 |
Ted Kremenek <kremenek@apple.com> |
Tweak DataFlowSolver's worklist data structure to have an ordered worklist and a DenseSet for caching instead of using a single SmallPtrSet. This makes the behavior of the DataFlowSolver more deterministic, and reduces the -fsyntax-only time on compare.c (403.gcc) by 1%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
539e9b18e64479e1092e0cd52efdb2ad41b4d07d |
|
15-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Make a couple more headers standalone git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
ee82d9bdc5025b82de8ce2a4ad4685e0a8b79da9 |
|
12-Oct-2009 |
Ted Kremenek <kremenek@apple.com> |
Use a BumpPtrAllocator to allocate all aspects of CFG, including CFGBlocks, 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> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
25e695b2d574d919cc1bbddf3a2efe073d449b1c |
|
15-Aug-2009 |
Zhongxing Xu <xuzhongxing@gmail.com> |
Extend the ProgramPoint to include the context information LocationContext, which is either a stack frame context of the function or a local scope context. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
0b5a07d3a08e84f5c73aedacdda176c5cdb77c4e |
|
20-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Update DataflowSolver to handle the case where a successor/predecessor block could be NULL. This allows the solver to handle optimized CFGs where branches can be determined during CFG-construction to be infeasible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
e41611aa2237d06a0ef61db4528fb2883a8defcd |
|
16-Jul-2009 |
Ted Kremenek <kremenek@apple.com> |
Move the source-level CFG from libAST to libAnalysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
bf98c99600017bfcdde2a7966c47a6beb15a96dc |
|
30-Jan-2009 |
Ted Kremenek <kremenek@apple.com> |
Fix horrible non-termination bug in LiveVariables. The issue was that the liveness state of block-level expressions could oscillate because of two issues: - The initial value before a merge was not always set to "Top" - The set of live block-level expressions is a union, not an intersection This fixes <rdar://problem/650084>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
fa708259cb518e87a2e7f636671b94a49f823608 |
|
23-Sep-2008 |
Ted Kremenek <kremenek@apple.com> |
Fix PR 2819: Compute dataflow values for all CFG blocks by not relying on having the "Exit" block being reachable by all (or any) of the blocks in the CFG. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
d452758bb6b59340528a26def9ecc24b329d4ecf |
|
16-Sep-2008 |
Ted Kremenek <kremenek@apple.com> |
ProgramPoint now takes the space of two pointers instead of one. This change was motivated because it became clear that the number of subclasses of ProgramPoint would expand and we ran out of bits to represent a pointer variant. As a plus of this change, BlockEdge program points can now be represented explicitly without using a cache of CFGBlock* pairs in CFG. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
411cdee0b490f79428c9eb977f25199eb7d21cd8 |
|
16-Apr-2008 |
Ted Kremenek <kremenek@apple.com> |
Added CFGBlock::getTerminatorCondition() to get the Expr* of the condition a block's terminator. Refactored LiveVariables to use getTerminatorCondition() in VisitTerminator(). Bug fix: CFG now computes Block-level expression numbers using information from block terminators. This fixes <rdar://problem/5868189>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
7deed0c65b315cac037539401c49586283158d9f |
|
15-Apr-2008 |
Ted Kremenek <kremenek@apple.com> |
Fix bug in terminator processing for uninitialized-values: simply ignore the terminator, don't reprocess it. LiveVariables analysis now does a flow-insensitive analysis to determine what variables have their address taken; these variables are now always treated as being live. The DataflowSolver now uses "SetTopValue()" when getting the initial value for the entry/exit block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
37622081d8a139a3249613acaa80106ec97261fb |
|
15-Apr-2008 |
Ted Kremenek <kremenek@apple.com> |
Added initial support into the flow-sensitive dataflow solver to visit the Block-level expression in a block's terminator. This expression is visited within a block, but it is accessed by the terminator. This is important to observe because for live-variables analysis the block-level expression is live between the terminator and where the expression occurs in the block. So far this hasn't been an issue to not observe this because the block-level expression used in the terminator is always the last one in the block, and we have never queried the liveness information about this point (but before the terminator). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
51f5499420e3e2344c1e6c3eff4764c4ec0b47ca |
|
18-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Changed DataflowSolver to always associated recorded dataflow values with the position *before* a statement, regardless of whether we are doing a forward or backwards analysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
86946745225096243f6969dc745267b78fc211a6 |
|
17-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Modified the notion of "Block-level expressions" in CFGs to include Stmt*. This is because GNU-style Statement-expressions cause the last statement in the statement-expression to act like an expression. We now have two notions: block-level statements and block-level expressions. The former are all Stmt* that appear in the list of statements in CFGBlocks. The latter is the subset of the former; these block-level statements are used as subexpressions somewhere in the AST. CFG::isBlockExpr() returns true for the latter, not the former (previously isBlockExpr() always returned true for non-Expr Stmt*). Modified the LiveVariables analysis to also track liveness state for block-level expressions (using the updated definition of block-level expressions). Modified the dataflow solver so that when it records values for block-level statements, it records the dataflow value *before* the transfer function for a Stmt* is evaluated (not after). This is more in sync in what clients will want. Modified CFGStmtVisitor to record the current block-level statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
79649dfed2fc4b8cf0f7b6890df69458dbceeb04 |
|
17-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Added support to dataflow solver to (when requested) also record dataflow values for the block-level expressions. Modified 'LiveVariables' to provide the option to clients to record liveness information for block-level expressions (using the above feature). Modified 'DeadStores' to conform to the new interface of 'LiveVariables'. Modified 'GRConstants' to compute liveness information for block-level expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
a1d44b5b7dbd39d4cfdbbb5ceb1885499ea03c77 |
|
11-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Renamed ProgramEdge.h to ProgramPoint.h git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
83c01da96f57cf732a5da9a83e2981241f205dc4 |
|
11-Jan-2008 |
Ted Kremenek <kremenek@apple.com> |
Renamed ProgramEdge to ProgramPoint and changed subclasses of ProgramEdge to have a much simpler, cleaner interpretation of what is a "location" in a function (as encoded by a CFG). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
0bc735ffcfb223c0186419547abaa5c84482663e |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Don't attribute in file headers anymore. See llvmdev for the discussion of this change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
4d20f2dd79e7829ade5e23945a2ef65a8fe1cf39 |
|
02-Oct-2007 |
Ted Kremenek <kremenek@apple.com> |
Moved ProgramEdge out out include/.../Analysis/PathSensitive to include/.../Analysis, as it is now used by the FlowSensitive subsystem as well. Removed "Edge" nested class by CFG, as it is now subsumed by ProgramEdge. Adjusted DataflowSolver and DataflowValues to use ProgramEdges instead of CFG::Edge. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|
1de632bf4abb75fcd39f5d6fdf59337f0ff0edd4 |
|
25-Sep-2007 |
Ted Kremenek <kremenek@apple.com> |
Moved "DataflowSolver.h" to the "include/" subtree. Adjusted client code that uses the solver to reflect the new location. Created "FlowSensitive" subdirectory in include/clang/Analysis to hold header files relating to flow-sensitive analyses. Moved "DataflowValues.h" into this subdirectory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/include/clang/Analysis/FlowSensitive/DataflowSolver.h
|