- 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
-
Ted Kremenek authored
llvm-svn: 42304
-
Ted Kremenek authored
llvm-svn: 42301
-
Ted Kremenek authored
between forward and backward analyses, with trait classes being used to implement the key differences in operations/functionality. Converted the LiveVariables analysis to use the generic DataflowSolver. This, along with removing some extra functionality that was not needed, reduced the code for LiveVariables by over half. Modified Driver code to handle the updated interface to LiveVariables. Modified the DeadStores checker to handle the update interface to LiveVariables. Updated DataflowValues (generic ADT to store dataflow values) to also store values for blocks. This is used by DeadStores. Updated some comments. llvm-svn: 42293
-
- Sep 20, 2007
-
-
Ted Kremenek authored
Analysis/Visitors/*Visitors.h files. llvm-svn: 42175
-
Hartmut Kaiser authored
Disambiguated a variable. llvm-svn: 42161
-
- Sep 19, 2007
-
-
Ted Kremenek authored
llvm-svn: 42145
-
Ted Kremenek authored
to specify how two dataflow values should be compared for equality. The default is to use std::equal_to. llvm-svn: 42115
-
Ted Kremenek authored
rather than a special "equal" method defined in the class for the value. llvm-svn: 42113
-
- Sep 18, 2007
-
-
Ted Kremenek authored
called VisitStmt, but VisitChildren is more direct and creates less boilerplate logic. llvm-svn: 42110
-
Ted Kremenek authored
llvm-svn: 42109
-