File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -333,6 +333,29 @@ void constant_propagator_domaint::assign(
333
333
334
334
/* ******************************************************************\
335
335
336
+ Function: constant_propagator_domaint::ai_simplify
337
+
338
+ Inputs: The condition to simplify and its namespace.
339
+
340
+ Outputs: The simplified condition.
341
+
342
+ Purpose: Simplify the condition given context-sensitive knowledge
343
+ from the abstract state.
344
+
345
+ \*******************************************************************/
346
+
347
+ bool constant_propagator_domaint::ai_simplify (
348
+ exprt &condition,
349
+ const namespacet &ns) const
350
+ {
351
+ bool b=values.replace_const .replace (condition);
352
+ b&=simplify (condition, ns);
353
+
354
+ return b;
355
+ }
356
+
357
+ /* ******************************************************************\
358
+
336
359
Function: constant_propagator_domaint::is_array_constant
337
360
338
361
Inputs:
Original file line number Diff line number Diff line change @@ -30,6 +30,10 @@ class constant_propagator_domaint:public ai_domain_baset
30
30
void make_entry () final { values.set_to_top (); }
31
31
bool merge (const constant_propagator_domaint &, locationt, locationt);
32
32
33
+ virtual bool ai_simplify (
34
+ exprt &condition,
35
+ const namespacet &ns) const override ;
36
+
33
37
struct valuest
34
38
{
35
39
public:
You can’t perform that action at this time.
0 commit comments