analyzer: rename region-model-impl-calls.cc to kf.cc

gcc/ChangeLog:
	* Makefile.in (ANALYZER_OBJS): Update for renaming of
	analyzer/region-model-impl-calls.cc to analyzer/kf.cc.

gcc/analyzer/ChangeLog:
	* analyzer.h (class known_function): Expand comment.
	* region-model-impl-calls.cc: Rename to...
	* kf.cc: ...this.
	* known-function-manager.h (class known_function_manager): Add
	leading comment.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
This commit is contained in:
David Malcolm 2022-12-08 21:19:24 -05:00
parent 7dc0ecafe6
commit 63a42ffc08
4 changed files with 15 additions and 2 deletions

View file

@ -1269,6 +1269,7 @@ ANALYZER_OBJS = \
analyzer/feasible-graph.o \
analyzer/function-set.o \
analyzer/infinite-recursion.o \
analyzer/kf.o \
analyzer/kf-analyzer.o \
analyzer/kf-lang-cp.o \
analyzer/known-function-manager.o \
@ -1278,7 +1279,6 @@ ANALYZER_OBJS = \
analyzer/region.o \
analyzer/region-model.o \
analyzer/region-model-asm.o \
analyzer/region-model-impl-calls.o \
analyzer/region-model-manager.o \
analyzer/region-model-reachability.o \
analyzer/sm.o \

View file

@ -229,7 +229,8 @@ extern location_t get_stmt_location (const gimple *stmt, function *fun);
extern bool compat_types_p (tree src_type, tree dst_type);
/* Abstract base class for simulating the behavior of known functions,
supplied by the core of the analyzer, or by plugins. */
supplied by the core of the analyzer, or by plugins.
The former are typically implemented in the various kf*.cc */
class known_function
{

View file

@ -25,6 +25,18 @@ along with GCC; see the file COPYING3. If not see
namespace ana {
/* Instances of known_function are registered with the known_function_manager
when the analyzer starts.
The known_function_manager has responsibility for determining which
known_function instance (if any) is relevant at a call site, by checking
name or id, and by calling known_function::matches_call_types_p to ensure
that the known_function's preconditions hold (typically assumptions about
types e.g. that "has 3 args, and that arg 0 is of pointer type").
The known_function subclasses themselves have responsibility for
determining the outcome(s) of the call. */
class known_function_manager : public log_user
{
public: