summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2021-02-16 16:36:57 -0800
committerGitHub <noreply@github.com>2021-02-16 16:36:57 -0800
commit20d266f9e641062004633e24e74878791be2b919 (patch)
treeb5f7f463f26f2a4c8ad84511e9484f675e9f0ac7 /src/smt
parent0bd00a9a25ff2358cb613a964186c1a13c5f351d (diff)
Add bit-level propagation support to BV bitblast solver. (#5906)
This commit adds support for bit-level propagation for the BV bitblast solver to quickly detect conflicts on effort levels != FULL. Bit-level propagation for the bitblast solver is by default disabled for now. Further, bit-blasting of facts is now handled more lazily with a bit-blast queue.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/set_defaults.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp
index d18b30430..93196fde4 100644
--- a/src/smt/set_defaults.cpp
+++ b/src/smt/set_defaults.cpp
@@ -132,6 +132,12 @@ void setDefaults(LogicInfo& logic, bool isInternalSubsolver)
options::bvLazyRewriteExtf.set(false);
}
+ /* Disable bit-level propagation by default for the BITBLAST solver. */
+ if (options::bvSolver() == options::BVSolver::BITBLAST)
+ {
+ options::bitvectorPropagate.set(false);
+ }
+
if (options::solveIntAsBV() > 0)
{
// not compatible with incremental
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback