mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
fix extraction of statistics for horn tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
a895506dac
commit
8e2298c327
|
@ -1167,32 +1167,20 @@ namespace datalog {
|
||||||
if (m_bmc) {
|
if (m_bmc) {
|
||||||
m_bmc->reset_statistics();
|
m_bmc->reset_statistics();
|
||||||
}
|
}
|
||||||
|
if (m_tab) {
|
||||||
|
m_tab->reset_statistics();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void context::collect_statistics(statistics& st) const {
|
void context::collect_statistics(statistics& st) const {
|
||||||
|
if (m_pdr) {
|
||||||
switch(m_engine) {
|
m_pdr->collect_statistics(st);
|
||||||
case DATALOG_ENGINE:
|
}
|
||||||
break;
|
if (m_bmc) {
|
||||||
case PDR_ENGINE:
|
m_bmc->collect_statistics(st);
|
||||||
case QPDR_ENGINE:
|
}
|
||||||
if (m_pdr) {
|
if (m_tab) {
|
||||||
m_pdr->collect_statistics(st);
|
m_tab->collect_statistics(st);
|
||||||
}
|
|
||||||
break;
|
|
||||||
case BMC_ENGINE:
|
|
||||||
case QBMC_ENGINE:
|
|
||||||
if (m_bmc) {
|
|
||||||
m_bmc->collect_statistics(st);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case TAB_ENGINE:
|
|
||||||
if (m_tab) {
|
|
||||||
m_tab->collect_statistics(st);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -240,6 +240,7 @@ class horn_tactic : public tactic {
|
||||||
};
|
};
|
||||||
|
|
||||||
params_ref m_params;
|
params_ref m_params;
|
||||||
|
statistics m_stats;
|
||||||
imp * m_imp;
|
imp * m_imp;
|
||||||
public:
|
public:
|
||||||
horn_tactic(ast_manager & m, params_ref const & p):
|
horn_tactic(ast_manager & m, params_ref const & p):
|
||||||
|
@ -272,20 +273,21 @@ public:
|
||||||
expr_dependency_ref & core) {
|
expr_dependency_ref & core) {
|
||||||
(*m_imp)(in, result, mc, pc, core);
|
(*m_imp)(in, result, mc, pc, core);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
virtual void collect_statistics(statistics & st) const {
|
virtual void collect_statistics(statistics & st) const {
|
||||||
m_imp->collect_statistics(st);
|
m_imp->collect_statistics(st);
|
||||||
|
st.copy(m_stats);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void reset_statistics() {
|
virtual void reset_statistics() {
|
||||||
|
m_stats.reset();
|
||||||
m_imp->reset_statistics();
|
m_imp->reset_statistics();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
virtual void cleanup() {
|
virtual void cleanup() {
|
||||||
ast_manager & m = m_imp->m;
|
ast_manager & m = m_imp->m;
|
||||||
imp * d = m_imp;
|
imp * d = m_imp;
|
||||||
|
d->collect_statistics(m_stats);
|
||||||
#pragma omp critical (tactic_cancel)
|
#pragma omp critical (tactic_cancel)
|
||||||
{
|
{
|
||||||
m_imp = 0;
|
m_imp = 0;
|
||||||
|
|
Loading…
Reference in a new issue