Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

encoding.integers is rarely usable #538

Open
ThomasHaas opened this issue Oct 20, 2023 · 0 comments
Open

encoding.integers is rarely usable #538

ThomasHaas opened this issue Oct 20, 2023 · 0 comments

Comments

@ThomasHaas
Copy link
Collaborator

ThomasHaas commented Oct 20, 2023

Some PR (probably the LLVM rework?) removed the ability to parse a program as integers and instead moved all integer reasoning to the encoder (when encoding.integers=true). This does not work well in practice because for integer encoding to be usable, we need to rewrite bitwise operators. In particular, many xor operators (for boolean negation) are generated by LLVM even if the original source does not have bit-vectors operations.

We used to have this rewriting in the parsers for Boogie and LLVM (I think I implemented this twice).
We should introduce a pass that does this rewriting at the very end when using integer encoding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant