Skip to content

Preserve byte_extract structure in trace RHS for incremental SMT2 backend#8910

Draft
tautschnig wants to merge 1 commit intodiffblue:developfrom
tautschnig:fix-8076-smt2-incr-byte_extract
Draft

Preserve byte_extract structure in trace RHS for incremental SMT2 backend#8910
tautschnig wants to merge 1 commit intodiffblue:developfrom
tautschnig:fix-8076-smt2-incr-byte_extract

Conversation

@tautschnig
Copy link
Copy Markdown
Collaborator

When ssa_full_lhs is a byte_extract expression, resolve operands individually instead of simplifying the entire expression. This prevents the simplifier from evaluating away the byte_extract structure when the SMT2 backend returns a dense array_exprt.

Also remove the no-new-smt tag from the unbounded_array regression test since it now works with the incremental SMT2 backend.

Fixes: #8076

  • Each commit message has a non-empty body, explaining why the change was made.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • White-space or formatting changes outside the feature-related changed lines are in commits of their own.

…kend

When ssa_full_lhs is a byte_extract expression, resolve operands
individually instead of simplifying the entire expression. This
prevents the simplifier from evaluating away the byte_extract
structure when the SMT2 backend returns a dense array_exprt.

Also remove the no-new-smt tag from the unbounded_array regression
test since it now works with the incremental SMT2 backend.

Fixes: diffblue#8076
@tautschnig tautschnig self-assigned this Mar 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

byte_extract is not appearing on the rhs of trace assignment when using the incremental smt2 decision procedure

1 participant