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

Apply SAW Core substitution to SAW Core term equalities. #1078

Merged
merged 2 commits into from
Mar 3, 2021

Conversation

andreistefanescu
Copy link
Contributor

@andreistefanescu andreistefanescu commented Feb 15, 2021

A call f(0, 1, 2) fails to match an override with the spec

let f_spec = do {
  x <- llvm_fresh_var "x" (llvm_int 32);
  llvm_execute_func [(crucible_term {{ x - 1 }}), (crucible_term x), (crucible_term {{ x + 1 }})];
  crucible_return (crucible_term {{ 3 * x }});
};

because x -> 1 is not substituted in the assertion 0 == x - 1. This change collects all equalities (without asserting), then applies the entire substitution, and then asserts the equalities.

@andreistefanescu andreistefanescu marked this pull request as ready for review February 16, 2021 00:11
@andreistefanescu andreistefanescu force-pushed the fix-sub branch 2 times, most recently from 42c7051 to 74731ff Compare February 16, 2021 01:56
@brianhuffman
Copy link
Contributor

@andreistefanescu, I can't tell what problem this is meant to solve; could you give me a bit of context?

@atomb
Copy link
Contributor

atomb commented Mar 1, 2021

I'm wondering about the same question. I'm not sure I really understand what it's for.

@andreistefanescu
Copy link
Contributor Author

@atomb @brianhuffman I updated the description

Copy link
Contributor

@atomb atomb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanation. This looks good to me!

@andreistefanescu andreistefanescu merged commit 76d41ab into master Mar 3, 2021
@andreistefanescu andreistefanescu deleted the fix-sub branch March 3, 2021 00:49
@brianhuffman
Copy link
Contributor

Why was a flexdis86 submodule update part of this PR? And to a non-master commit?

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.

3 participants