| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Rename ValueState.cpp -> GRState.cpp
llvm-svn: 54722
|
|
|
|
|
|
| |
Rename ValueStateManager -> GRStateManager.
llvm-svn: 54721
|
|
|
|
| |
llvm-svn: 54704
|
|
|
|
|
|
| |
improvements to path-sensitivity. Right now we basically treat 'x > y' and 'x < y' as implying 'x != y', but this restriction will only inevitably apply to our must rudimentary value tracking component (we'll implement more advanced value reasoning later).
llvm-svn: 54493
|
|
|
|
|
|
|
|
| |
arguments marked nonnull.
This implements <rdar://problem/6069935>
llvm-svn: 53891
|
|
|
|
|
|
| |
there as well.
llvm-svn: 53743
|
|
|
|
|
|
| |
RemoveDeadBindings method in StoreManager.
llvm-svn: 53726
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Environment/EnvironmentManager.
llvm-svn: 53412
|
|
|
|
|
|
|
|
|
|
|
| |
Constraints. These concepts are already present in the current ValueState, but
the implementation is monolothic. Making ValueState more modular opens up new
design choices for customizing the analysis engine.
In the context of the analysis engine, the "Environment" is the binding between
Expr* (expressions) and intermediate symbolic values (RValues).
llvm-svn: 53252
|
|
|
|
| |
llvm-svn: 53172
|
|
|
|
|
|
| |
in message expressions we don't understand.
llvm-svn: 50541
|
|
|
|
| |
llvm-svn: 50458
|
|
|
|
| |
llvm-svn: 50453
|
|
|
|
|
|
|
|
| |
from other Lvalues.
This removes the failure in null-deref-ps.c (test suite).
llvm-svn: 50449
|
|
|
|
|
|
|
|
|
|
|
|
| |
EvalStore/EvalLoad to handle all loads/stores from symbolic memory, allowing us
to do checks for null dereferences, etc., at any arbitrary load/store (these
were missed checks before). This also resulted in some major cleanups, some
conceptual, and others just in the structure of the code.
This temporarily introduces a regression in the test suite (null-deref-ps.c)
before I add a new LVal type for structure fields.
llvm-svn: 50443
|
|
|
|
|
|
| |
function).
llvm-svn: 50246
|
|
|
|
| |
llvm-svn: 50245
|
|
|
|
|
|
|
|
|
| |
Implemented support for better localized leaks in the CF reference count checker.
Now leaks should be flagged close to where they occur.
This should implement the desired functionality in <rdar://problem/5879592>, although the diagnostics still need to be improved.
llvm-svn: 50241
|
|
|
|
|
|
| |
function logic to act when symbols become dead.
llvm-svn: 50221
|
|
|
|
| |
llvm-svn: 50109
|
|
|
|
|
|
| |
integers, allowing us to track lvals when they are casted back to pointers.
llvm-svn: 50108
|
|
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
|