[solvers] Add Bitwuzla as a new solver for XLS#4443
Merged
Conversation
8b45714 to
5cd52b1
Compare
As Bitwuzla is optimized for quantifier-free handling of bit-vectors and arrays, this seems like it might be a better fit for XLS's analyses. Early benchmarks suggest it's over an order of magnitude faster in many applications. We're not switching the default over just yet, but now we have the option. To avoid "config.h" include conflicts, we patch all of Bitwuzla's "config.h" includes to be relative. PiperOrigin-RevId: 936437382
5cd52b1 to
22f8454
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[solvers] Add Bitwuzla as a new solver for XLS
As Bitwuzla is optimized for quantifier-free handling of bit-vectors and arrays, this seems like it might be a better fit for XLS's analyses. Early benchmarks suggest it's over an order of magnitude faster in many applications. We're not switching the default over just yet, but now we have the option.
To avoid "config.h" include conflicts, we patch all of Bitwuzla's "config.h" includes to be relative.