hanchenye-llvm-project/clang/test/Coverage
Ted Kremenek 1642bdaaa5 Introduce a new concept to the static analyzer: SValuator.
GRTransferFuncs had the conflated role of both constructing SVals (symbolic
expressions) as well as handling checker-specific logic. Now SValuator has the
role of constructing SVals from expressions and GRTransferFuncs just handles
checker-specific logic. The motivation is by separating these two concepts we
will be able to much more easily create richer constraint-generating logic
without coupling it to the main checker transfer function logic.

We now have one implementation of SValuator: SimpleSValuator.

SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals
(which is removed in this patch). This includes the logic for EvalBinOp,
EvalCast, etc. Because SValuator has a narrower role than the old
GRTransferFuncs, the interfaces are much simpler, and so is the implementation
of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of
SVal-related logic in GRSimpleVals and cleaned it up while moving it over to
SimpleSValuator.

As a consequence of removing GRSimpleVals, there is no longer a
'-checker-simple' option. The '-checker-cfref' did everything that option did
but also ran the retain/release checker. Of course a user may not always wish to
run the retain/release checker, nor do we wish core analysis logic buried in the
checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp
to separate out these pieces into the core analysis engine.

llvm-svn: 74229
2009-06-26 00:05:51 +00:00
..
ast-printing.c AST XML dump, from Olaf Krzikalla! 2009-05-21 20:55:50 +00:00
ast-printing.cpp Printing for using directives, e.g., 2009-05-30 06:31:56 +00:00
ast-printing.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
c-language-features.inc Printing for using directives, e.g., 2009-05-30 06:31:56 +00:00
codegen-gnu.m Simplify tests now that GNU runtime supports exception handling. 2009-05-18 17:43:32 +00:00
codegen-next.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
codegen.c Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
cxx-language-features.inc AST printing for C++ base classes 2009-05-30 06:58:37 +00:00
html-diagnostics.c Introduce a new concept to the static analyzer: SValuator. 2009-06-26 00:05:51 +00:00
html-print.c Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
objc-language-features.inc Simplify tests now that GNU runtime supports exception handling. 2009-05-18 17:43:32 +00:00
parse-callbacks.c Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
parse-callbacks.m Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
targets.c Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00
verbose.c Rename clang to clang-cc. 2009-03-24 02:24:46 +00:00