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

Investigate if optimizing constant generation to avoid allocations improve solver performance #2936

Open
celinval opened this issue Dec 11, 2023 · 0 comments
Labels
[C] Feature / Enhancement A new feature request or enhancement to an existing feature. [E] Performance Track performance improvement (Time / Memory / CPU)

Comments

@celinval
Copy link
Contributor

Requested feature: Optimize code generation of constants
Use case: Improve solver performance due to better constant propagation.

We currently generate an allocation when initializing an ADT with more than one non-zst field instead of initializing it from value. While porting Kani to StableMIR, I noticed that CBMC seems to perform better when we don't use an allocation. We should investigate reducing the number of allocations.

For example, for the test cargo-kani/mir-linker, CBMC will not be able to find the loop bounds if we treat all ADTs as allocations.

@celinval celinval added [E] Performance Track performance improvement (Time / Memory / CPU) [C] Feature / Enhancement A new feature request or enhancement to an existing feature. labels Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C] Feature / Enhancement A new feature request or enhancement to an existing feature. [E] Performance Track performance improvement (Time / Memory / CPU)
Projects
None yet
Development

No branches or pull requests

1 participant