3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-30 12:25:51 +00:00

remove uneeded calls to datalog_context::get_rules(), since it can be expensive.

thanks to Henning Guenther for finding this.

Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
This commit is contained in:
Nuno Lopes 2015-07-08 13:39:15 +01:00
parent eeef4d29d6
commit 8edd551f20
4 changed files with 23 additions and 16 deletions

View file

@ -70,11 +70,11 @@ namespace datalog {
m_goals.reset();
rm.mk_query(query, m_ctx.get_rules());
apply_default_transformation(m_ctx);
if (m_ctx.get_rules().get_output_predicates().empty()) {
const rule_set& rules = m_ctx.get_rules();
if (rules.get_output_predicates().empty()) {
return l_false;
}
func_decl* head_decl = m_ctx.get_rules().get_output_predicate();
rule_set& rules = m_ctx.get_rules();
func_decl *head_decl = rules.get_output_predicate();
rule_vector const& rv = rules.get_predicate_rules(head_decl);
if (rv.empty()) {
return l_false;