Uh oh!
There was an error while loading. Please reload this page.
Array speedup - #1874
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| return false; | ||
| } | ||
| void arrayst::weg_path_condition( |
There was a problem hiding this comment.
using a verb in the function name is generally clearer
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
martin-cs
commented
Mar 1, 2018
@tautschnig shout when you want a review from me. |
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
commented
Feb 23, 2021
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
commented
Feb 24, 2021
@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.
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 <tautschn@amazon.com>
Code has now largely been rewritten.
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. |
No description provided.