| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
lazy PCH deserialization. Propagate that argument wherever it needs to
be. No functionality change, except that I've tightened up a few PCH
tests in preparation.
llvm-svn: 69406
|
|
|
|
|
|
|
| |
- Pull SVal::GetConjuredSymbol() and friends into ValueManager. This greatly
simplifies the calling interface to clients.
llvm-svn: 68731
|
|
|
|
|
|
| |
No functionality change (really).
llvm-svn: 68726
|
|
|
|
|
|
|
|
|
|
|
| |
"manager of symbolic values", wrapping BasicValueFactory, SymbolManager, and
MemRegionManager. While these individual managers nicely separate functionality
in the analyzer, constructing symbolic values can sometimes be cumbersome
because it requires using multiple managers at once. The goal of this class is
to create some factory methods to create SVals that require the use of these
different managers, thus (hopefully) simplifying the analyzer API for clients.
llvm-svn: 68709
|
|
|
|
| |
llvm-svn: 68696
|
|
|
|
| |
llvm-svn: 68695
|
|
|
|
| |
llvm-svn: 68694
|
|
|
|
| |
llvm-svn: 68693
|
|
|
|
|
|
| |
type of the expression where we create the symbol.
llvm-svn: 68692
|
|
|
|
| |
llvm-svn: 68691
|
|
|
|
| |
llvm-svn: 68687
|
|
|
|
| |
llvm-svn: 68502
|
|
|
|
| |
llvm-svn: 68496
|
|
|
|
|
|
|
| |
ExplodedGraph backwards. That may inadvertently result in reverse control-flow
edges in the PathDiagostic.
llvm-svn: 68477
|
|
|
|
| |
llvm-svn: 68406
|
|
|
|
|
|
| |
the subtle ownership issues of such objects.
llvm-svn: 68397
|
|
|
|
| |
llvm-svn: 68282
|
|
|
|
| |
llvm-svn: 68274
|
|
|
|
|
|
|
|
|
| |
instead of a FullSourceLoc. This resulted in a bunch of small edits in various
clients.
- Updated BugReporter to include an alternate PathDiagnostic generation
algorithm for PathDiagnosticClients desiring more control-flow pieces.
llvm-svn: 68193
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Zhongxing and I discussed by email.
Main changes:
- Removed SymIntConstraintVal and SymIntConstraint
- Added SymExpr as a parent class to SymbolData, SymSymExpr, SymIntExpr
- Added nonloc::SymExprVal to wrap SymExpr
- SymbolRef is now just a typedef of 'const SymbolData*'
- Bunch of minor code cleanups in how some methods were invoked (no functionality change)
This changes are part of a long-term plan to have full symbolic expression
trees. This will be useful for lazily evaluating complicated expressions.
llvm-svn: 67731
|
|
|
|
|
|
| |
completely there with accurately modeling autorelease pools.
llvm-svn: 67384
|
|
|
|
|
|
| |
we resolve the semantics of this function when GC is enabled.
llvm-svn: 67116
|
|
|
|
| |
llvm-svn: 67094
|
|
|
|
|
|
| |
to return an owning pointer.
llvm-svn: 66934
|
|
|
|
| |
llvm-svn: 66739
|
|
|
|
| |
llvm-svn: 66487
|
|
|
|
|
|
|
|
| |
PathDiagnosticControlFlowPiece to distinguish (in the class hierarchy) between
events and control-flow diagnostic pieces. Clients must now use these directly
when constructing PathDiagnosticPieces.
llvm-svn: 66310
|
|
|
|
| |
llvm-svn: 66208
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Store bindings using a MemRegion -> SVal binding instead of VarDecl -> SVal
binding. This mirrors some of the idea of RegionStore, but is far simpler and
not nearly as functional. This leads to some code simplification and
some potential for some minor precision hacks.
Along the way...
- constify the use of MemRegion* in a few places
- add operator<<(llvm::raw_ostream, const MemRegion*)
llvm-svn: 66163
|
|
|
|
| |
llvm-svn: 66110
|
|
|
|
| |
llvm-svn: 66107
|
|
|
|
|
|
|
| |
to unknown functions. Most of this logic should be eventually moved to
RegionStore and be made lazy.
llvm-svn: 66094
|
|
|
|
|
|
| |
direct binding in the StoreManager.
llvm-svn: 66005
|
|
|
|
|
|
| |
or array "loads".
llvm-svn: 65983
|
|
|
|
|
|
|
|
|
|
|
| |
SVal::getAsLocSymbol(). This simplifies the code and allows the retain/release
checker to (I believe) also correctly reason about location symbols wrapped in
SymbolicRegions.
Along the way I cleaned up SymbolRef a little, disallowing implicit casts to
'unsigned'.
llvm-svn: 65972
|
|
|
|
| |
llvm-svn: 65764
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
giving them rough classifications (normal types, never-canonical
types, always-dependent types, abstract type representations) and
making it far easier to make sure that we've hit all of the cases when
decoding types.
Switched some switch() statements on the type class over to using this
mechanism, and filtering out those things we don't care about. For
example, CodeGen should never see always-dependent or non-canonical
types, while debug info generation should never see always-dependent
types. More switch() statements on the type class need to be moved
over to using this approach, so that we'll get warnings when we add a
new type then fail to account for it somewhere in the compiler.
As part of this, some types have been renamed:
TypeOfExpr -> TypeOfExprType
FunctionTypeProto -> FunctionProtoType
FunctionTypeNoProto -> FunctionNoProtoType
There shouldn't be any functionality change...
llvm-svn: 65591
|
|
|
|
| |
llvm-svn: 65571
|
|
|
|
| |
llvm-svn: 65485
|
|
|
|
|
|
| |
thing is to wire up pools with their contents.
llvm-svn: 65425
|
|
|
|
|
|
| |
that end with terminators.
llvm-svn: 65410
|
|
|
|
|
|
| |
the path than the branches taken.
llvm-svn: 65407
|
|
|
|
|
|
|
|
|
|
|
|
| |
- For autorelease pool tracking, keep information about the stack of pools
separate from their contents. Also, keep track of the number of times an
autorelease pool will send the "release" message to an object when the pool is
destroyed.
- Update CFRefCount::Update to return a new state instead of a reference count
binding. This will allow us to implement more complicated semantics with
autorelease pools.
llvm-svn: 65384
|
|
|
|
|
|
|
| |
This doesn't change the current functionality, but better codifies the
autorelease pool stack itself.
llvm-svn: 65328
|
|
|
|
| |
llvm-svn: 65322
|
|
|
|
|
|
| |
getDesguaredType(). Constify some pointers along the way.
llvm-svn: 65321
|
|
|
|
|
|
| |
objects (opt for false negatives).
llvm-svn: 65304
|
|
|
|
| |
llvm-svn: 65302
|
|
|
|
|
|
| |
DoNothing effect.
llvm-svn: 65301
|
|
|
|
|
|
| |
copy 'rule' if it doesn't already start with 'init', etc.
llvm-svn: 65269
|