Skip to content

Commit 1073cac

Browse files
martinmartin-cs
authored andcommitted
Set the default implementation of make_entry to make_top
This is used by the majority of domains and if you don't want to / can't implement make_top() then you probably want a custom make_entry() anyway. This is a net saving of code!
1 parent 6dcf77a commit 1073cac

11 files changed

+6
-50
lines changed

src/analyses/ai_domain.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,16 @@ class ai_domain_baset
113113
/// no states
114114
virtual void make_bottom() = 0;
115115

116-
/// all states -- the analysis doesn't use this,
116+
/// all states -- the analysis doesn't use this directly (see make_entry)
117117
/// and domains may refuse to implement it.
118118
virtual void make_top() = 0;
119119

120120
/// Make this domain a reasonable entry-point state
121-
virtual void make_entry() = 0;
121+
/// For most domains top is sufficient
122+
virtual void make_entry()
123+
{
124+
make_top();
125+
}
122126

123127
virtual bool is_bottom() const = 0;
124128

src/analyses/constant_propagator.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,6 @@ class constant_propagator_domaint:public ai_domain_baset
6565
values.set_to_top();
6666
}
6767

68-
virtual void make_entry() final override
69-
{
70-
make_top();
71-
}
72-
7368
virtual bool is_bottom() const final override
7469
{
7570
return values.is_bot();

src/analyses/custom_bitvector_analysis.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,6 @@ class custom_bitvector_domaint:public ai_domain_baset
5050
has_values=tvt(true);
5151
}
5252

53-
void make_entry() final override
54-
{
55-
make_top();
56-
}
57-
5853
bool is_bottom() const final override
5954
{
6055
DATA_INVARIANT(!has_values.is_false() ||

src/analyses/escape_analysis.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,6 @@ class escape_domaint:public ai_domain_baset
7171
return has_values.is_true();
7272
}
7373

74-
void make_entry() override final
75-
{
76-
make_top();
77-
}
78-
7974
typedef union_find<irep_idt> aliasest;
8075
aliasest aliases;
8176

src/analyses/global_may_alias.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,6 @@ class global_may_alias_domaint:public ai_domain_baset
6262
has_values=tvt(true);
6363
}
6464

65-
void make_entry() final override
66-
{
67-
make_top();
68-
}
69-
7065
/// Returns true if domain is bottom.
7166
bool is_bottom() const final override
7267
{

src/analyses/interval_domain.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,6 @@ class interval_domaint:public ai_domain_baset
6969
bottom=false;
7070
}
7171

72-
void make_entry() final override
73-
{
74-
make_top();
75-
}
76-
7772
bool is_bottom() const override final
7873
{
7974
#if 0

src/analyses/reaching_definitions.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,11 +209,6 @@ class rd_range_domaint:public ai_domain_baset
209209
has_values=tvt(false);
210210
}
211211

212-
void make_entry() final override
213-
{
214-
make_top();
215-
}
216-
217212
bool is_top() const override final
218213
{
219214
DATA_INVARIANT(!has_values.is_true() || values.empty(),

src/analyses/uninitialized_domain.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,6 @@ class uninitialized_domaint:public ai_domain_baset
5454
has_values=tvt(false);
5555
}
5656

57-
void make_entry() final override
58-
{
59-
make_top();
60-
}
61-
6257
bool is_top() const override final
6358
{
6459
DATA_INVARIANT(!has_values.is_true() || uninitialized.empty(),

src/analyses/variable-sensitivity/variable_sensitivity_dependence_graph.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,6 @@ class variable_sensitivity_dependence_domaint
116116
control_dep_call_candidates.clear();
117117
}
118118

119-
void make_entry() override
120-
{
121-
make_top();
122-
}
123-
124119
bool is_bottom() const override
125120
{
126121
return variable_sensitivity_domaint::is_bottom() && has_values.is_false();

src/analyses/variable-sensitivity/variable_sensitivity_domain.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,6 @@ void variable_sensitivity_domaint::make_top()
218218
abstract_state.make_top();
219219
}
220220

221-
void variable_sensitivity_domaint::make_entry()
222-
{
223-
abstract_state.make_top();
224-
}
225-
226221
bool variable_sensitivity_domaint::merge(
227222
const variable_sensitivity_domaint &b,
228223
trace_ptrt from,

0 commit comments

Comments
 (0)