| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
include directory tree.
llvm-svn: 47661
|
|
|
|
|
|
| |
value of the block-level expression for ?.
llvm-svn: 47645
|
|
|
|
|
|
|
|
| |
now store in the state essentially which branch we took. This removes
a bunch of bogus assumptions (and likely bugs), reduces the complexity of
the implementation, and facilitates more optimizations.
llvm-svn: 47613
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
based on constant. prop. and limited symbolics.
- Renamed class: RValue -> RVal, LValue -> LVal, etc.
- Minor method renamings and interface cleanups.
- Tightened the RVal "type system" so that UninitializedVal and UnknownVal
cannot be cast to LVal or NonLVal. This forces these corner cases values
to be explicitly handled early before being dispatched to plug-in transfer
function logic.
- Major cleanup in the transfer function logic for binary and unary operators.
Still fixing some regressions, but we now explicitly handle Uninitialized
and Unknown values in a more rigorous way.
llvm-svn: 47441
|
|
|
|
|
|
|
|
| |
referenced by an RValue, instead of having to query the type of the RValue.
Modified ValueState::RemoveDeadBindings to also prune dead symbols.
llvm-svn: 47142
|
|
|
|
| |
llvm-svn: 47123
|
|
|
|
|
|
|
|
|
| |
Renamed class GRConstants => GRExprEngine.
This was done with a Perl script, and will result in 80 col. violations that
I will gradually fix up.
llvm-svn: 47070
|
|
|
|
|
|
|
|
|
| |
factories.
Fixed a horrible bug in lval:DeclVar::classof(RValue* V); we weren't checking
V was an LValue, allowing nonlval::ConcereteInts to match isa<lval::DeclVar>.
llvm-svn: 46976
|
|
|
|
|
|
|
|
| |
bindings for block-level expressions.
Moved pretty-printing logic (DOT) for ValueStates to ValueState.cpp.
llvm-svn: 46965
|
|
|
|
| |
llvm-svn: 46892
|
|
|
|
|
|
|
| |
Expr* instead of a Stmt*, since we only
store bindings for Expr*.
llvm-svn: 46891
|
|
|
|
|
|
| |
GRConstants logic to ValueStateManager.
llvm-svn: 46888
|
|
|
|
|
|
| |
in VarKey and VariableBindingsTy.
llvm-svn: 46887
|
|
|
|
| |
llvm-svn: 46875
|
|
|
|
| |
llvm-svn: 46843
|
|
|
|
|
|
|
| |
ValueState no longer inherits FoldingSetNode (not needed).
Removed redundant operator= implementation for ValueState (it simply did the default behavior).
llvm-svn: 46794
|
|
|
|
|
|
|
|
|
| |
!= 0).
This action will add constraints to the possible values of a symbol.
Still needs to be debugged.
llvm-svn: 46789
|
|
|
|
|
|
| |
for buffers for RValues and States.
llvm-svn: 46759
|
|
|
|
|
|
| |
factory objects to ValueStateManager).
llvm-svn: 46758
|
|
|
|
| |
llvm-svn: 46756
|
|
|
|
|
|
| |
"VariableBindings").
llvm-svn: 46755
|
|
|
|
| |
llvm-svn: 46754
|
|
|
|
|
|
| |
structure that can contain several maps, not just one.
llvm-svn: 46744
|
|
|
|
| |
llvm-svn: 46740
|
|
|
|
|
|
| |
__builtin_choose.
llvm-svn: 46731
|
|
|
|
|
|
|
|
| |
created for GRConstants. Moved instances of ValueManager and SymbolManager
inside this class. The goal is to gradually separate more of the state
management from the state transformation.
llvm-svn: 46721
|
|
Moved ValueKey/ValueMap declaration to ValueState.h.
llvm-svn: 46618
|