Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Array speedup #1874

Closed
wants to merge 6 commits into from
Closed

Array speedup #1874

wants to merge 6 commits into from

Conversation

tautschnig
Copy link
Collaborator

No description provided.

return false;
}

void arrayst::weg_path_condition(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be documented

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using a verb in the function name is generally clearer

@TGWDB
Copy link
Contributor

TGWDB commented Feb 22, 2021

@tautschnig This PR is still waiting on some changes to address reviewer comments (and now a rebase). Is there a plan to progress on this PR since it is mentioned in others?

@tautschnig
Copy link
Collaborator Author

@tautschnig This PR is still waiting on some changes to address reviewer comments (and now a rebase). Is there a plan to progress on this PR since it is mentioned in others?

Yes, this is on my pile of TODOs. In terms of performance, it's probably one of the most urgent to work on. Just trying to address the soundness-related ones first.

@martin-cs
Copy link
Collaborator

@tautschnig : Trevor and I have been having some issues with the current array code and may need to look at it in the next few months. Reviewing this / getting it merged might well help us with that.

Uses the capabilities of binding_exprt instead of relying on the
unrelated replace_exprt to do the right thing.
tautschnig and others added 5 commits April 24, 2022 16:10
All existing tests rely on indexed access to arrays, which is covered by
the read-over-write axiom.
There is not really anything wrong in having empty bitvectors, which we
otherwise already support (as of e021eef).
The test specification expects that the indices 0, 1, and one other are
instantiated. The array theory is only required to do so when also
reading from these elements.
This implements Christ and Hoenicke's Weakly Equivalent Arrays
(https://arxiv.org/pdf/1405.6939.pdf) with in-place depth-first path
enumeration.

Co-authored-by: Michael Tautschnig <[email protected]>
@tautschnig tautschnig dismissed romainbrenguier’s stale review April 24, 2022 19:23

Code has now largely been rewritten.

@tautschnig tautschnig marked this pull request as draft April 24, 2022 19:50
@tautschnig tautschnig self-assigned this Apr 24, 2022
@TGWDB
Copy link
Contributor

TGWDB commented May 3, 2023

Closing due to age (no further comment on PR content), please reopen with rebase on develop if you intent to continue this work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants