3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 19:35:50 +00:00

regression fix to ackerman gc and memory smash, perf fix for handling bv2int axioms, perf fix for filtering ackerman

this update addresses some perf regressions introduced when handling axioms for bv2int and a memory smash regression when decoupling bv-ackerman from in-processing. It adds a filter based on bv_eq_axioms for disabling ackerman reductions on disequalities.
This commit is contained in:
Nikolaj Bjorner 2022-08-26 10:44:33 -07:00
parent ca0a82952f
commit 159026b5e8
7 changed files with 46 additions and 13 deletions

View file

@ -49,16 +49,19 @@ namespace bv {
update_glue(*other);
vv::push_to_front(m_queue, other);
if (other == n) {
bool do_gc = other == n;
if (other == n)
new_tmp();
gc();
}
if (other->m_glue == 0) {
do_gc = false;
remove(other);
add_cc(v1, v2);
}
else if (other->m_count > 2*m_propagate_high_watermark)
propagate();
if (do_gc)
gc();
}
void ackerman::used_diseq_eh(euf::theory_var v1, euf::theory_var v2) {