Skip to content

Commit 3f2a6bb

Browse files
committed
Make simplify_exprt::get_values file-local
This procedure is used in exactly one method, and does not use any class members. Thus, move it to the file that method resides in. Also remove the now-unnecessary forall_ macro and replace the previous use by ranged for.
1 parent cb9f69a commit 3f2a6bb

File tree

4 files changed

+28
-37
lines changed

4 files changed

+28
-37
lines changed

.clang-format

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ ForEachMacros: [
5555
'Forall_irep',
5656
'forall_named_irep',
5757
'Forall_named_irep',
58-
'forall_value_list',
5958
'forall_symbol_base_map',
6059
'forall_subtypes',
6160
'Forall_subtypes']

src/util/simplify_expr.cpp

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1331,31 +1331,6 @@ simplify_exprt::simplify_dereference(const dereference_exprt &expr)
13311331
return unchanged(expr);
13321332
}
13331333

1334-
bool simplify_exprt::get_values(
1335-
const exprt &expr,
1336-
value_listt &value_list)
1337-
{
1338-
if(expr.is_constant())
1339-
{
1340-
mp_integer int_value;
1341-
if(to_integer(to_constant_expr(expr), int_value))
1342-
return true;
1343-
1344-
value_list.insert(int_value);
1345-
1346-
return false;
1347-
}
1348-
else if(expr.id()==ID_if)
1349-
{
1350-
const auto &if_expr = to_if_expr(expr);
1351-
1352-
return get_values(if_expr.true_case(), value_list) ||
1353-
get_values(if_expr.false_case(), value_list);
1354-
}
1355-
1356-
return true;
1357-
}
1358-
13591334
simplify_exprt::resultt<>
13601335
simplify_exprt::simplify_lambda(const lambda_exprt &expr)
13611336
{

src/util/simplify_expr_class.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,6 @@ class unary_plus_exprt;
6666
class update_exprt;
6767
class with_exprt;
6868

69-
#define forall_value_list(it, value_list) \
70-
for(simplify_exprt::value_listt::const_iterator it=(value_list).begin(); \
71-
it!=(value_list).end(); ++it)
72-
7369
class simplify_exprt
7470
{
7571
public:
@@ -221,9 +217,6 @@ class simplify_exprt
221217

222218
virtual bool simplify(exprt &expr);
223219

224-
typedef std::set<mp_integer> value_listt;
225-
bool get_values(const exprt &expr, value_listt &value_list);
226-
227220
static bool is_bitvector_type(const typet &type)
228221
{
229222
return type.id()==ID_unsignedbv ||

src/util/simplify_expr_int.cpp

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,6 +1460,30 @@ static bool eliminate_common_addends(exprt &op0, exprt &op1)
14601460
return true;
14611461
}
14621462

1463+
typedef std::set<mp_integer> value_listt;
1464+
static bool get_values(const exprt &expr, value_listt &value_list)
1465+
{
1466+
if(expr.is_constant())
1467+
{
1468+
mp_integer int_value;
1469+
if(to_integer(to_constant_expr(expr), int_value))
1470+
return true;
1471+
1472+
value_list.insert(int_value);
1473+
1474+
return false;
1475+
}
1476+
else if(expr.id() == ID_if)
1477+
{
1478+
const auto &if_expr = to_if_expr(expr);
1479+
1480+
return get_values(if_expr.true_case(), value_list) ||
1481+
get_values(if_expr.false_case(), value_list);
1482+
}
1483+
1484+
return true;
1485+
}
1486+
14631487
simplify_exprt::resultt<> simplify_exprt::simplify_inequality_no_constant(
14641488
const binary_relation_exprt &expr)
14651489
{
@@ -1528,12 +1552,11 @@ simplify_exprt::resultt<> simplify_exprt::simplify_inequality_no_constant(
15281552

15291553
// compare possible values
15301554

1531-
forall_value_list(it0, values0)
1532-
forall_value_list(it1, values1)
1555+
for(const mp_integer &int_value0 : values0)
1556+
{
1557+
for(const mp_integer &int_value1 : values1)
15331558
{
15341559
bool tmp;
1535-
const mp_integer &int_value0=*it0;
1536-
const mp_integer &int_value1=*it1;
15371560

15381561
if(expr.id()==ID_ge)
15391562
tmp=(int_value0>=int_value1);
@@ -1556,6 +1579,7 @@ simplify_exprt::resultt<> simplify_exprt::simplify_inequality_no_constant(
15561579
break;
15571580
}
15581581
}
1582+
}
15591583

15601584
if(ok)
15611585
{

0 commit comments

Comments
 (0)