- Jan 30, 2008
-
-
Ted Kremenek authored
more cleanups with pretty-printing of analysis results. llvm-svn: 46564
-
Ted Kremenek authored
we automatically generate a new successor node along an edge if the checker did not explicitly do so (i.e., we just propagate the current state). llvm-svn: 46536
-
- Jan 29, 2008
-
-
Ted Kremenek authored
llvm-svn: 46532
-
Ted Kremenek authored
llvm-svn: 46531
-
Ted Kremenek authored
have been 'true'. llvm-svn: 46530
-
Ted Kremenek authored
Made some internal API cleanups with creating ConcreteInt values, which lead to some code reduction in implementing "++", "--". llvm-svn: 46528
-
Ted Kremenek authored
for analyzing a function. The initial state for GRConstants now assigns symbolic values to parameters. llvm-svn: 46517
-
Ted Kremenek authored
state. llvm-svn: 46491
-
Ted Kremenek authored
and now we require a FunctionDecl* object so that we can also keep track of all of the ParmDecls. Modified clients of LiveVariables to conform to the new interface. llvm-svn: 46490
-
Ted Kremenek authored
llvm-svn: 46477
-
Ted Kremenek authored
Refactoring: for GREngine and GRConstants, pushed references to CFG, ASTContext, and the top-level FunctionDecl into ExplodedGraphImpl. llvm-svn: 46475
-
- Jan 28, 2008
-
-
Ted Kremenek authored
llvm-svn: 46471
-
Ted Kremenek authored
llvm-svn: 46470
-
Ted Kremenek authored
llvm-svn: 46468
-
Ted Kremenek authored
now SymbolicNonLValue. Cleaned up some casts. llvm-svn: 46467
-
Ted Kremenek authored
Renamed ExprValue to RValue, as all expression values are RValues, and this keeps with the C terminology (renamed old "RValue" class to "NonLValue"). Introduced "ConcreteInt", a class that represents a concrete, integer constant as an RValue. Temporarily removed classes to represent set of possible constants and set of != constants. Will replace with a more general class representing a set of constraints. Added some foundational code to track "symbolic" values, which are used to accrue constraints on an abstract value that is shared between multiple variables. e.g: x = y; // at this point "x" and "y" share the same "value" if (x > 1) ... // at this point, the value shared by "x" and "y" is "> 1". llvm-svn: 46466
-
- Jan 26, 2008
-
-
Ted Kremenek authored
llvm-svn: 46379
-
Ted Kremenek authored
a template-template parameter. llvm-svn: 46378
-
- Jan 25, 2008
-
-
Ted Kremenek authored
Renamed RValueConjunctiveUnequal to RValInequalityANDSet. Refactored add/subtract/multiple (and now divide) operations for RValEqualityORSet to be based on a single template function. llvm-svn: 46374
-
Ted Kremenek authored
llvm-svn: 46370
-
Ted Kremenek authored
llvm-svn: 46368
-
Ted Kremenek authored
information is not separated into a "base" and "sub" type. Eventually the value-tracking logic will know about LValues and RValues, but not about specialized LValues and RValues; separating the "kind" information into bits indicating whether an ExprValue is an LValue or an RValue from the bits that specify the actual value type makes this separation easier. llvm-svn: 46329
-
- Jan 24, 2008
-
-
Ted Kremenek authored
llvm-svn: 46327
-
Ted Kremenek authored
llvm-svn: 46326
-
Ted Kremenek authored
llvm-svn: 46323
-
Ted Kremenek authored
a Stmt* is a block-level expression when we INSERT a value into the map, and not also when we QUERY a value. llvm-svn: 46321
-
Ted Kremenek authored
the value map as if the expressions were non-block-level expressions. llvm-svn: 46319
-
Ted Kremenek authored
we falsely constructed an APInt to represent the constant '1' instead of using an APSInt (which has a sign). llvm-svn: 46317
-
Ted Kremenek authored
Added some workarounds for loss of signess information on some APSInt operations. Considering the best route to integrate these into APSInt directly. (FIXME's in GRConstants.cpp). llvm-svn: 46310
-
Ted Kremenek authored
llvm-svn: 46300
-
Ted Kremenek authored
Added initial support for integer casting operations to GRConstants. llvm-svn: 46298
-
Ted Kremenek authored
llvm-svn: 46294
-
Ted Kremenek authored
Added "multiplication" support for equality sets. llvm-svn: 46289
-
Ted Kremenek authored
llvm-svn: 46288
-
- Jan 23, 2008
-
-
Ted Kremenek authored
causing problems with Dot. llvm-svn: 46285
-
Ted Kremenek authored
llvm-svn: 46284
-
Ted Kremenek authored
abstract "L-values" and "R-values" when doing value tracking, and expanding constant tracking to encompass tracking disjunctive sets of possible constants. Further, the tree-walking is more efficient, as we don't blindly recurse the tree if we won't generate new states. llvm-svn: 46278
-
- Jan 18, 2008
-
-
Ted Kremenek authored
use ImmutableMap::SlimFind(), which returns the correct value. Added pruning of dead block-level expressions and Decls from our value map using liveness information. llvm-svn: 46154
-
- Jan 17, 2008
-
-
Ted Kremenek authored
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. llvm-svn: 46137
-
Ted Kremenek authored
Refactored the use of this method into both the Sema module and Analysis module, which were using their own static functions that did the same thing. llvm-svn: 46129
-