"git@repo.hca.bsc.es:lalbano/llvm-bpevl.git" did not exist on "6cb702d00dbec2bc2f58870d3ee40c8564d89832"
- Oct 17, 2008
-
-
Ted Kremenek authored
llvm-svn: 57654
-
- 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 07, 2008
-
-
Zhongxing Xu authored
llvm-svn: 57225
-
- Oct 05, 2008
-
-
Zhongxing Xu authored
llvm-svn: 57107
-
- 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
-
- Sep 03, 2008
-
-
Ted Kremenek authored
- Change definition of store::Region and store::Binding (once again) to make them real classes that just wrap pointers. This makes them more strictly typed, and allows specific implementations of Regions/Bindings to just subclass them. - minor renamings to RegionExtent and its subclasses - added a bunch of doxygen comments StoreManager: (static analyzer) - added 'iterBindings', an iteration method for iterating over the bindings of a store. It that takes a callback object (acting like a poor man's closure). - added 'getRVal' version for store::Binding. Will potentially phase the other versions of GetRVal in StoreManager out. - reimplemented 'getBindings' to be non-virtual and to use 'iterBindings' BasicStoreManager: (static analyzer) - implemented 'iterBindings' for BasicStoreManager llvm-svn: 55688
-
- Aug 29, 2008
-
-
Ted Kremenek authored
Migrated CFRefCount.cpp to use getBindings and BindingsAsString instead of making assumptions about the Store (removed dependence on GRState::vb_iterator). llvm-svn: 55522
-
Ted Kremenek authored
llvm-svn: 55519
-
Ted Kremenek authored
Their precise semantics will be implemented by a specific StoreManager. Use function pointer to create the StoreManager in GRStateManager. This matches how we create ConstraintsManager. llvm-svn: 55514
-
- Aug 25, 2008
-
-
Ted Kremenek authored
Added 'getExtent()' to StoreManager. Implemented 'getExtent()' for BasicStoreManager. llvm-svn: 55321
-
- Aug 23, 2008
-
-
Ted Kremenek authored
llvm-svn: 55213
-
- Aug 22, 2008
-
-
Zhongxing Xu authored
llvm-svn: 55144
-
- Aug 20, 2008
-
-
Ted Kremenek authored
llvm-svn: 55013
-
- Aug 19, 2008
-
-
Ted Kremenek authored
This patch extends BasicStoreManager::getInitialStore() to include code that symbolicates input variables. It also removes redundant handling of ImplicitParamDecl, since it is a subclass of VarDecl. llvm-svn: 54993
-
- Jul 17, 2008
-
-
Ted Kremenek authored
Moved RemoveDeadBindings logic for the contents of 'Store' to a virtual RemoveDeadBindings method in StoreManager. llvm-svn: 53726
-
- Jul 11, 2008
-
-
Ted Kremenek authored
current store implementation is now encapsulated by BasicStore. These changes prompted some long due constification of ValueState. Much of the diffs in this patch include adding "const" qualifiers. llvm-svn: 53423
-