summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-02-20 13:44:50 +0000
committerMorgan Deters <mdeters@gmail.com>2012-02-20 13:44:50 +0000
commit96240c3cbc2a25e2d9ab14d1048ffda82a83ded2 (patch)
tree609bae884c1a02b396b62ac0cc7e7e7ce4c5d944 /src/smt
parent1632d0cad718fd07e9a987cd14d5fc29a1b450c4 (diff)
By default, ONLY enable symmetry breaker ONLY for QF_UF (both SMT-LIBv1
and SMT-LIBv2). There are --enable-symmetry-breaker and --disable-symmetry-breaker options that are always respected regardless of this default. Expected performance impact: positive New default (UF only) compared to old default (always on): http://church.cims.nyu.edu/regress-results/compare_jobs.php?job_id=3594&reference_id=3595&p=5 Symmetry breaker remains a big win on UF: http://church.cims.nyu.edu/regress-results/compare_jobs.php?job_id=3594&reference_id=3596&p=5 The last link to results looks at first that the symmetry breaker should always be turned off, since its use loses more regressions than it gains. *However*, the lost ones are only our "QF_SAT" benchmarks. For these, we should indeed turn off the symmetry breaker, but that's impossible for now because we tag them internally with the logic "QF_UF."
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 7ea22ce8f..f8667fb71 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -285,17 +285,21 @@ SmtEngine::~SmtEngine() {
}
void SmtEngine::setLogic(const std::string& s) throw(ModalException) {
+ NodeManagerScope nms(d_nodeManager);
+
if(d_logic != "") {
throw ModalException("logic already set");
}
+
if(Dump.isOn("benchmark")) {
Dump("benchmark") << SetBenchmarkLogicCommand(s) << endl;
}
+
d_logic = s;
d_theoryEngine->setLogic(s);
// If in arrays, set the UF handler to arrays
- if (s == "QF_AX") {
+ if(s == "QF_AX") {
theory::Theory::setUninterpretedSortOwner(theory::THEORY_ARRAY);
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback