diff options
| author | Ted Kremenek <kremenek@apple.com> | 2008-12-16 22:02:27 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2008-12-16 22:02:27 +0000 |
| commit | 9e08ff40da42326d3459e99862ab284ea6cf47e7 (patch) | |
| tree | 631be30d2da44f87cdd575d0e5dd4007da038cf0 /llvm/lib/CodeGen/SelectionDAG | |
| parent | 5121ec38214fd17c26b500ba4d9b0c8ee80f2492 (diff) | |
| download | bcm5719-llvm-9e08ff40da42326d3459e99862ab284ea6cf47e7.tar.gz bcm5719-llvm-9e08ff40da42326d3459e99862ab284ea6cf47e7.zip | |
ProgramPoint:
- Added four new ProgramPoint types that subclass PostStmt for use in
GRExprEngine::EvalLocation:
- PostOutOfBoundsCheckFailed
- PostUndefLocationCheckFailed
- PostNullCheckFailed
- PostLocationChecksSucceed
These were created because of a horribly subtle caching bug in EvalLocation
where a node representing an "bug condition" in EvalLocation (e.g. a null
dereference) could be re-used as the "non-bug condition" because the Store did
not contain any information to differentiate between the two. The extra
program points just disables any accidental caching between EvalLocation and
its callers.
GRExprEngine:
- EvalLocation now returns a NodeTy* instead of GRState*. This should be used as the "vetted" predecessor for EvalLoad/EvalStore.
llvm-svn: 61105
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
0 files changed, 0 insertions, 0 deletions

