| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
convert it to the first element region.
Also do not assume the array region is typed.
llvm-svn: 71358
|
|
|
|
|
|
|
| |
region. In the future we may set the cast-to type as the same time. But for
now, we simply leave it as it is.
llvm-svn: 71357
|
|
|
|
|
|
|
|
|
| |
Modify getLValueElement accordingly. Now we don't require base region
to be a typed region. Do not create TypedViewRegion when base region is
symbolic or alloca region. We can do so because each element region has
its type information.
llvm-svn: 71355
|
|
|
|
|
|
| |
RegionStoreManager::CastRegion(). This case should be subsumed by others.
llvm-svn: 71353
|
|
|
|
|
|
|
| |
SymbolRegionRValue => SymbolRegionValue
SymExpr::RegionRValue => SymExpr::RegionValueKind
llvm-svn: 71322
|
|
|
|
|
|
| |
TypedRegion::getValueType().
llvm-svn: 71321
|
|
|
|
|
|
|
|
|
| |
RValueType => ObjectType
LValueType => LocationType
No functionality change.
llvm-svn: 71304
|
|
|
|
| |
llvm-svn: 71288
|
|
|
|
|
|
| |
incomplete, do not compute its size and return the original region.
llvm-svn: 71213
|
|
|
|
| |
llvm-svn: 71206
|
|
|
|
| |
llvm-svn: 71205
|
|
|
|
| |
llvm-svn: 71202
|
|
|
|
|
|
|
|
| |
- add a static function getTypeWidth(), which computes the width of a type
with the help of TargetInfo.
- no-outofbounds.c now passes for region store.
llvm-svn: 71080
|
|
|
|
| |
llvm-svn: 71076
|
|
|
|
| |
llvm-svn: 71074
|
|
|
|
| |
llvm-svn: 71060
|
|
|
|
|
|
|
|
|
| |
RegionStore.
This CastRegion() performs casts according to the kind of the region being
cast instead of the type that is cast to.
llvm-svn: 71058
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ElementRegion. I also removed 'ElementRegion::getArrayRegion',
although we may need to add this back.
This breaks a few test cases with RegionStore:
- 'array-struct.c' triggers an infinite recursion in RegionStoreManager. Need to investigate.
- misc-ps.m triggers a failure with RegionStoreManager as we now get the diagnostic:
'Line 159: Uninitialized or undefined return value returned to caller.'
There were a bunch of places that needed to be edit
RegionStoreManager, and we may not be passing all the correct 'element
types' down from GRExprEngine.
Zhongxing: When you get a chance, could you review this? I could have
easily screwed up something basic in RegionStoreManager.
llvm-svn: 70830
|
|
|
|
|
|
| |
simplify the retrieve logic.
llvm-svn: 70651
|
|
|
|
| |
llvm-svn: 70380
|
|
|
|
|
|
|
|
| |
into StoreManager::CastRegion. Both methods were practically identical, and this
is core logic that is common to all StoreManagers since it defines the basic
invariants of the abstract memory model.
llvm-svn: 69730
|
|
|
|
| |
llvm-svn: 69577
|
|
|
|
| |
llvm-svn: 68771
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
when creating symbolic values, we distinguish between location and non-location
values. For location values, we create a symbolic region instead of a
loc::SymbolVal.
llvm-svn: 68373
|
|
|
|
|
|
| |
it. Will discuss offline whether symbolic regions should by typed or typeless.
llvm-svn: 68070
|
|
|
|
| |
llvm-svn: 68068
|
|
|
|
|
|
| |
Layer the type information with a TypedViewRegion on top of the SymbolicRegion.
llvm-svn: 68028
|
|
|
|
| |
llvm-svn: 68024
|
|
|
|
| |
llvm-svn: 67825
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
var region roots.
llvm-svn: 67152
|
|
|
|
| |
llvm-svn: 66894
|
|
|
|
|
|
|
|
|
|
| |
is 64-bit. I used his suggestion of doing a direct bitwidth/signedness
conversion of the 'offset' instead of just changing the sign. For more
information, see:
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-March/004587.html
llvm-svn: 66892
|
|
|
|
| |
llvm-svn: 66768
|
|
|
|
| |
llvm-svn: 66654
|
|
|
|
| |
llvm-svn: 66649
|
|
|
|
|
|
|
|
| |
offset may be different that the base. Ultimately we need a better solution for
these issues, but this point-by-point fixes are gradually outlining the scope of
the problem.
llvm-svn: 66638
|
|
|
|
|
|
| |
pointer.
llvm-svn: 66486
|
|
|
|
| |
llvm-svn: 66419
|
|
|
|
| |
llvm-svn: 66418
|
|
|
|
|
|
| |
Bind() and BindStruct(), but we returned a state with the old store.
llvm-svn: 66409
|
|
|
|
|
|
| |
'self'.
llvm-svn: 66133
|
|
|
|
| |
llvm-svn: 65987
|
|
|
|
|
|
| |
region of a scanned region as well.
llvm-svn: 65981
|
|
|
|
| |
llvm-svn: 65957
|
|
|
|
|
|
| |
MemRegions.
llvm-svn: 65919
|
|
|
|
|
|
| |
for clients of StoreManagers from MemRegions to their subregions.
llvm-svn: 65914
|
|
|
|
| |
llvm-svn: 65817
|