- Jan 16, 2008
-
-
Ted Kremenek authored
variant type, and not just the pointer value. llvm-svn: 46049
-
Ted Kremenek authored
Cleaned up GRConstants::AddBinding to not directly reference the predecessor node. Now we just manipulate the current state, and a driver function creates nodes as needed. llvm-svn: 46040
-
Ted Kremenek authored
the graph reachability engine. llvm-svn: 46036
-
- Jan 15, 2008
-
-
Ted Kremenek authored
the end of the block by processing empty blocks (at BlockEntrance) or when we have just processed the last statement in a block (at PostStmt). llvm-svn: 45991
-
Ted Kremenek authored
llvm-svn: 45986
-
- Jan 13, 2008
-
-
Ted Kremenek authored
parent class ExplodedGraphImpl. llvm-svn: 45930
-
Ted Kremenek authored
ExplodedNodeImpl::NodeGroup from being defined inline to being defined "out-of-line" in ExplodedGraph.cpp. This removes a dependence on including <vector> in ExplodedGraph.h, and will hopefully result in smaller generated code with negligible performance impact. llvm-svn: 45928
-
- Jan 11, 2008
-
-
Ted Kremenek authored
of ProgramPoint. llvm-svn: 45866
-
Ted Kremenek authored
to have a much simpler, cleaner interpretation of what is a "location" in a function (as encoded by a CFG). llvm-svn: 45846
-
- Jan 09, 2008
-
-
Ted Kremenek authored
code restructuring. (new files will be introduced shortly) llvm-svn: 45785
-
- Jan 08, 2008
-
-
Ted Kremenek authored
llvm-svn: 45750
-
Ted Kremenek authored
llvm-svn: 45728
-
- Jan 07, 2008
-
-
Ted Kremenek authored
llvm-svn: 45724
-
Ted Kremenek authored
creates the initial root node from the constructor of ReachabilityEngine to ReachabilityEngine::ExecuteWorklist. llvm-svn: 45722
-
Ted Kremenek authored
ExplodedNode, ExplodedGraph (to match the vocabulary in the RHS paper) ReachabilityEngine The implementation of the core of the path-sensitive dataflow solver has been de-templatized and places in ReachabilityEngine.cpp. The solver is still incomplete. llvm-svn: 45711
-
- Jan 03, 2008
-
-
Ted Kremenek authored
"GREngine" (Graph Reachability Engine). The idea is to provide a separation of concerns between the constant prop. details and the core analysis engine. llvm-svn: 45555
-
Ted Kremenek authored
llvm-svn: 45554
-
Ted Kremenek authored
propagation analysis via graph reachability. This analysis (which is incomplete) will be the basis for later developments on the core engine for path-sensitive analysis analysis. llvm-svn: 45552
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45412
-
Chris Lattner authored
discussion of this change. llvm-svn: 45410
-
- Dec 21, 2007
-
-
Ted Kremenek authored
Created include/clang/Analysis/Analyses directory. - Moved LiveVariables.h and UninitializedValues.h into this dir. Moved ExprDeclBitVector.h into Analysis/Support. Updated all clients who use these headers to reflect the new paths. llvm-svn: 45292
-
- Dec 13, 2007
-
-
Ted Kremenek authored
of array types. For things like: char x[10]; we should treat "x" as being initialized, because the variable "x" really refers to the memory block of the array. Clearly x[1] is uninitialized, but expressions like "(char*) x" really do refer to an initialized value. This simple dataflow analysis does not reason about the contents of arrays. This fixes: PR 1859 (http://llvm.org/bugs/show_bug.cgi?id=1859) llvm-svn: 44984
-
Ted Kremenek authored
we incorrectly examine the expression within a sizeof() for use in computing dataflow values. This fixes: PR 1858 (http://llvm.org/bugs/show_bug.cgi?id=1858) llvm-svn: 44982
-
- Dec 12, 2007
-
-
Ted Kremenek authored
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation. Added many utility methods to FullSourceLoc to provide shorthand for: FullLoc.getManager().someMethod(FullLoc.getLocation()); instead we have: FullLoc.someMethod(); Modified TextDiagnostics (and related classes) to use this short-hand. llvm-svn: 44957
-
- Dec 11, 2007
-
-
Ted Kremenek authored
SourceManager is passed by reference, allowing the SourceManager to be associated with a specific translation unit, and not the entire execution of the driver. Modified all users of Diagnostics to comply with this new interface. Integrated SourceManager as a member variable of TargetInfo. TargetInfo will eventually be associated with a single translation unit (just like SourceManager). Made the SourceManager reference in ASTContext private. Provided accessor getSourceManager() for clients to use instead. Modified clients to comply with new interface. llvm-svn: 44878
-
- Nov 30, 2007
-
-
Anders Carlsson authored
GCC has an extension where the left hand side of the ? : operator can be omitted. Handle this in a few more places. llvm-svn: 44462
-
- Nov 24, 2007
-
-
Ted Kremenek authored
We accidentally were throttling the propagation of uninitialized state across assignments (e.g. x = y). Thanks to Anders Carlsson for spotting this problem. Added test cases to test suite to provide regression testing for the uninitialized values analysis. llvm-svn: 44306
-
- Nov 20, 2007
-
-
Ted Kremenek authored
"block-expressions" when visiting arbitrary expressions (via calls to "Visit()"). This results in a refactoring where a dataflow analysis no longer needs to always special case when handling block-expressions versus non-block expressions. Updated LiveVariables and UninitializedValues to conform to the slightly altered interface of these visitor classes. Thanks to Nuno Lopes for providing a test case that illustrated some fundamental problems in the current design of the CFGXXXStmtVisitor classes and how they were used. llvm-svn: 44246
-
- Nov 19, 2007
-
-
Ted Kremenek authored
state that occurred in subexpressions of Block-Level expressions. Bug and fix provided by Nuno Lopes. llvm-svn: 44224
-
- Oct 17, 2007
-
-
Chris Lattner authored
Rename SourceRange::Begin()/End() to getBegin()/getEnd() for consistency with other code. Start building the rewriter towards handling @encode. llvm-svn: 43047
-
- Oct 07, 2007
-
-
Chris Lattner authored
llvm-svn: 42730
-
- Oct 01, 2007
-
-
Ted Kremenek authored
tracked BlkExpr information now maintained by the CFG class. llvm-svn: 42498
-
- Sep 28, 2007
-
-
Ted Kremenek authored
properly kill variables. e.g: (x) = 1; llvm-svn: 42450
-
Ted Kremenek authored
in assignment operations of the form +=, -=, *=, etc. llvm-svn: 42449
-
Ted Kremenek authored
llvm-svn: 42447
-
Ted Kremenek authored
ExprDeclBitVector class for defining dataflow state. llvm-svn: 42446
-
Ted Kremenek authored
taintness across expressions. Made "smart-culling" of taint propagation (for error reporting) correctly handle conditional expressions and a few other edge cases. llvm-svn: 42421
-
- Sep 27, 2007
-
-
Ted Kremenek authored
values associated with ScopedDecls and CFGBlock-level Exprs. This is the common boilerplate needed by UninitializedValues and LiveVariables. Refactored UninitializedValues to use ExprDeclBitVector. Shortened the string diagnostic for UninitializedValues. llvm-svn: 42408
-
- Sep 25, 2007
-
-
Ted Kremenek authored
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. llvm-svn: 42320
-
Ted Kremenek authored
llvm-svn: 42305
-