Skip to content

Conversation

tothtamas28 and others added 8 commits January 21, 2026 14:52
…dd-module rules (#912)

Co-authored-by: automergerpr-permission-manager[bot] <190534181+automergerpr-permission-manager[bot]@users.noreply.github.com>
This PR adds the
[volatile_store](https://doc.rust-lang.org/std/intrinsics/fn.volatile_store.html)
intrinsic. For this semantics, memory being "volatile" is meaningless as
the we are not compiling any further, and aren't modeling any compiler
optimisations that could occur if we were to. Therefore this is
implemented as a simple dereference of the pointer and store of the
value provided at that location.
The staged function evaluation created issues with the SMT solver
(unevaluated terms could contain `#lookupDiscriminant` calls while the
path condition held `#lookupDiscrAux` constraints).
Making the first evaluation step a rewrite changes the step counters but
avoids this problem altogether because rewrite symbols don't normally go
to the SMT solver.
Co-authored-by: devops <devops@runtimeverification.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: devops <devops@runtimeverification.com>
@dkcumming
Copy link
Collaborator Author

I couldn't figure out how to make CI run on the tip of feature/p-token again after I pushed the fix so I just opened this again #926

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

Successfully merging this pull request may close these issues.

6 participants