- Nov 15, 2008
-
-
Ted Kremenek authored
llvm-svn: 59334
-
- Oct 30, 2008
-
-
Ted Kremenek authored
Pretty-printing for SVals now mainly uses llvm::raw_ostream. We have an adapter for std::ostream, but this will be removed in the future. llvm-svn: 58445
-
Ted Kremenek authored
Added pretty-printing for nonloc::CompoundSVal. llvm-svn: 58442
-
Ted Kremenek authored
llvm-svn: 58441
-
Ted Kremenek authored
CompoundVal now uses an ImmutableList<SVal> to store its set of SVals. This change was motivated by the need to allow state-splitting in GRExprEngine::VisitInitListExpr. As a side-benefit, we no longer need to perform any copies of SVals when creating a CompoundSVal, and the profiling of CompoundSVal is now constant time. llvm-svn: 58437
-
Zhongxing Xu authored
llvm-svn: 58418
-
- Oct 28, 2008
-
-
Ted Kremenek authored
- Add symbol_iterator support for SymbolicRegions. llvm-svn: 58300
-
- Oct 26, 2008
-
-
Zhongxing Xu authored
llvm-svn: 58182
-
- Oct 24, 2008
-
-
Zhongxing Xu authored
llvm-svn: 58073
-
- Oct 21, 2008
-
-
Zhongxing Xu authored
RValues.h/cpp => SVals.h/cpp llvm-svn: 57893
-
- Oct 17, 2008
-
-
Zhongxing Xu authored
RVal => SVal LVal => Loc NonLVal => NonLoc lval => loc nonlval => nonloc llvm-svn: 57671
-
Ted Kremenek authored
Remove GRExprEngine::getLVal and RValues::MakeVal. Enhance StoreManager "GetLValue" methods to dispatch for specific kinds of lvalue queries, as opposed to interogating the expression tree (GRExprEngine already does this). Added FIXMEs. In particular, we no longer "assume" that a base pointer in a field/array access is null (this logic was removed). Perhaps we should do this when fetching the lvalue for fields and array elements? llvm-svn: 57657
-
- Oct 16, 2008
-
-
Zhongxing Xu authored
new VisitLValue method is added to replace the old VisitLVal. The semantics model becomes more explicit to separate rvalue evaluation from lvalue evaluation. llvm-svn: 57627
-
- Oct 04, 2008
-
-
Ted Kremenek authored
This is a big patch, but the functionality change is small and the rest of the patch consists of deltas due to API changes. This patch overhauls the "memory region" abstraction that was prototyped (but never really used) as part of the Store.h. This patch adds MemRegion.h and MemRegion.cpp, which defines the class MemRegion and its subclasses. This classes serve to define an abstract representation of memory, with regions being layered on other regions to to capture the relationships between fields and variables, variables and the address space they are allocated in, and so on. The main motivation of this patch is that key parts of the analyzer assumed that all value bindings were to VarDecls. In the future this won't be the case, and this patch removes lval::DeclVal and replaces it with lval::MemRegionVal. Now all pieces of the analyzer must reason about abstract memory blocks instead of just variables. There should be no functionality change from this patch, but it opens the door for significant improvements to the analyzer such as field-sensitivity and object-sensitivity, both which were on hold until the memory abstraction got generalized. The memory region abstraction also allows type-information to literally be affixed to a memory region. This will allow the some now redundant logic to be removed from the retain/release checker. llvm-svn: 57042
-
- Oct 01, 2008
-
-
Ted Kremenek authored
llvm-svn: 56912
-
- Aug 24, 2008
-
-
Chris Lattner authored
an APInt directly to an ostream now, so add some hacks. It would be better to switch all of the bugreport (and friends) stuff over to raw_ostream. llvm-svn: 55264
-
- Aug 17, 2008
-
-
Chris Lattner authored
llvm-svn: 54874
-
- Aug 11, 2008
-
-
Daniel Dunbar authored
- Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast). llvm-svn: 54629
-
- Jul 18, 2008
-
-
Ted Kremenek authored
llvm-svn: 53754
-
Ted Kremenek authored
llvm-svn: 53753
-
- May 01, 2008
-
-
Ted Kremenek authored
llvm-svn: 50503
-
- Apr 30, 2008
-
-
Ted Kremenek authored
llvm-svn: 50453
-
Ted Kremenek authored
This removes the failure in null-deref-ps.c (test suite). llvm-svn: 50449
-
- Apr 22, 2008
-
-
Ted Kremenek authored
llvm-svn: 50109
-
Ted Kremenek authored
Added "nonlval::LValAsInteger" to represent abstract LVals casted to integers, allowing us to track lvals when they are casted back to pointers. llvm-svn: 50108
-
- Apr 02, 2008
-
-
Chris Lattner authored
llvm-svn: 49101
-
- Mar 16, 2008
-
-
Chris Lattner authored
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
-
- Mar 09, 2008
-
-
Ted Kremenek authored
Bug fix: Don't call RemoveDeadBindings more than once (can kill newly generated values to Block-Level Expressions). llvm-svn: 48079
-
- Mar 07, 2008
-
-
Ted Kremenek authored
llvm-svn: 48025
-
- Mar 06, 2008
-
-
Gabor Greif authored
llvm-svn: 47995
-
- Mar 05, 2008
-
-
Chris Lattner authored
llvm-svn: 47954
-
- Feb 28, 2008
-
-
Ted Kremenek authored
This current implementation only works when both operands are concrete values; later we will add support for symbolic values. llvm-svn: 47726
-
Ted Kremenek authored
llvm-svn: 47713
-
- Feb 26, 2008
-
-
Ted Kremenek authored
Added recording of divide-by-zero and divide-by-uninitialized nodes. llvm-svn: 47586
-
- Feb 21, 2008
-
-
Ted Kremenek authored
based on constant. prop. and limited symbolics. - Renamed class: RValue -> RVal, LValue -> LVal, etc. - Minor method renamings and interface cleanups. - Tightened the RVal "type system" so that UninitializedVal and UnknownVal cannot be cast to LVal or NonLVal. This forces these corner cases values to be explicitly handled early before being dispatched to plug-in transfer function logic. - Major cleanup in the transfer function logic for binary and unary operators. Still fixing some regressions, but we now explicitly handle Uninitialized and Unknown values in a more rigorous way. llvm-svn: 47441
-
- Feb 20, 2008
-
-
Ted Kremenek authored
llvm-svn: 47357
-
Ted Kremenek authored
the same time clearing up some logic of how the unary '*' operator is processed. llvm-svn: 47356
-
- Feb 19, 2008
-
-
Ted Kremenek authored
llvm-svn: 47298
-
- Feb 16, 2008
-
-
Ted Kremenek authored
their own [.cpp;.h] files. llvm-svn: 47201
-
- Feb 15, 2008
-
-
Ted Kremenek authored
Added more boilerplate transfer function support for pointer arithmetic. Added more pretty-printing support for symbolic constraints. Added transfer function support for handling enum values. Minor pointer types cleanup in ExplodedGraphImpl. llvm-svn: 47183
-