From f440916e58224fb7c22a301b53dd884acd9bf793 Mon Sep 17 00:00:00 2001 From: Valentin Perrelle <valentin.perrelle@cea.fr> Date: Wed, 18 Nov 2020 01:16:01 +0100 Subject: [PATCH] [Eva] Export a function to enable global value partitioning --- src/plugins/value/Eva.mli | 4 ++++ src/plugins/value/value_parameters.ml | 3 +++ src/plugins/value/value_parameters.mli | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/src/plugins/value/Eva.mli b/src/plugins/value/Eva.mli index dc8c0bae4f7..d71fa98faca 100644 --- a/src/plugins/value/Eva.mli +++ b/src/plugins/value/Eva.mli @@ -40,6 +40,10 @@ module Value_parameters: sig to interpret calls to function [kf]. Raises [Not_found] if there is no builtin of name [name]. *) val use_builtin: Cil_types.kernel_function -> string -> unit + + (** [use_global_value_partitioning vi] instructs the analysis to use + value partitioning on the global variable [vi]. *) + val use_global_value_partitioning: Cil_types.varinfo -> unit end module Eval_terms: sig diff --git a/src/plugins/value/value_parameters.ml b/src/plugins/value/value_parameters.ml index df4428ee75a..122835c78c2 100644 --- a/src/plugins/value/value_parameters.ml +++ b/src/plugins/value/value_parameters.ml @@ -800,6 +800,9 @@ module ValuePartitioning = end) let () = add_precision_dep ValuePartitioning.parameter +let use_global_value_partitioning vi = + ValuePartitioning.add vi.Cil_types.vname + let () = Parameter_customize.set_group precision_tuning module SplitLimit = Int diff --git a/src/plugins/value/value_parameters.mli b/src/plugins/value/value_parameters.mli index 573e922bde5..23816c0c964 100644 --- a/src/plugins/value/value_parameters.mli +++ b/src/plugins/value/value_parameters.mli @@ -228,6 +228,10 @@ val enabled_domains: unit -> (string * string) list builtin `b`. *) val use_builtin: Cil_types.kernel_function -> string -> unit +(** [use_global_value_partitioning vi] enable value partitioning on the global + variable `vi`. *) +val use_global_value_partitioning: Cil_types.varinfo -> unit + (* Local Variables: compile-command: "make -C ../../.." -- GitLab