bv: Unify bit-blasting code for udiv and urem. (#7188)
authorMathias Preiner <mathias.preiner@gmail.com>
Tue, 14 Sep 2021 18:00:13 +0000 (11:00 -0700)
committerGitHub <noreply@github.com>
Tue, 14 Sep 2021 18:00:13 +0000 (18:00 +0000)
commit06689796a7eddffb7b0d56aa2cc7917ab6bab602
tree312c3107648474b7fd5745823906d447cf862e1c
parent54853f9584f2de2bf4e1ff16517b44a45e6d7cf2
bv: Unify bit-blasting code for udiv and urem. (#7188)

This refactor additionally removes the caching for urem/udiv cases when
bit-blasting udiv/urem and eliminates the only rewrite() calls in the
bit-blaster. Caching is not required since repeated calls to udiv/urem
with the same arguments will produce the same circuit. Further, the rewrite()
calls during bit-blasting would further complicate the recording of
bit-blasting proofs and hence is removed.
src/theory/bv/bitblast/bitblast_strategies_template.h
src/theory/bv/bitblast/bitblaster.h