mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
adding argument restriction to mbqi, fix tracking of m_src/m_dst for expr_safe_replace and avoid resetting the cache.
This commit is contained in:
parent
24321e311b
commit
e2fbd05fe7
6 changed files with 159 additions and 58 deletions
|
@ -27,11 +27,11 @@ Revision History:
|
|||
|
||||
void expr_safe_replace::insert(expr* src, expr* dst) {
|
||||
SASSERT(m.get_sort(src) == m.get_sort(dst));
|
||||
m_src.push_back(src);
|
||||
m_dst.push_back(dst);
|
||||
#if ALIVE_OPT
|
||||
cache_insert(src, dst);
|
||||
#else
|
||||
m_src.push_back(src);
|
||||
m_dst.push_back(dst);
|
||||
m_subst.insert(src, dst);
|
||||
#endif
|
||||
}
|
||||
|
@ -149,14 +149,17 @@ void expr_safe_replace::operator()(expr* e, expr_ref& res) {
|
|||
m_cache.reset();
|
||||
m_todo.reset();
|
||||
m_args.reset();
|
||||
#if !ALIVE_OPT
|
||||
m_refs.reset();
|
||||
#endif
|
||||
}
|
||||
|
||||
void expr_safe_replace::reset() {
|
||||
m_src.reset();
|
||||
m_dst.reset();
|
||||
m_subst.reset();
|
||||
m_refs.reset();
|
||||
m_refs.finalize();
|
||||
m_cache.reset();
|
||||
}
|
||||
|
||||
void expr_safe_replace::apply_substitution(expr* s, expr* def, expr_ref& t) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue