We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 31207f8 + 56d171a commit 7641c46Copy full SHA for 7641c46
src/util/simplify_expr.cpp
@@ -1649,6 +1649,17 @@ simplify_exprt::resultt<> simplify_exprt::simplify_object(const exprt &expr)
1649
simplify_exprt::resultt<>
1650
simplify_exprt::simplify_byte_extract(const byte_extract_exprt &expr)
1651
{
1652
+ // lift up any ID_if on the object
1653
+ if(expr.op().id() == ID_if)
1654
+ {
1655
+ if_exprt if_expr = lift_if(expr, 0);
1656
+ if_expr.true_case() =
1657
+ simplify_byte_extract(to_byte_extract_expr(if_expr.true_case()));
1658
+ if_expr.false_case() =
1659
+ simplify_byte_extract(to_byte_extract_expr(if_expr.false_case()));
1660
+ return changed(simplify_if(if_expr));
1661
+ }
1662
+
1663
const auto el_size = pointer_offset_bits(expr.type(), ns);
1664
if(el_size.has_value() && *el_size < 0)
1665
return unchanged(expr);
0 commit comments