Skip to content

Simplify lhs before passing to symex_assign #34

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

Closed
wants to merge 1 commit into from

Conversation

tautschnig
Copy link
Collaborator

No description provided.

@@ -36,6 +36,14 @@ void goto_symext::symex_assign_rec(
code_assignt deref_code=code;

clean_expr(deref_code.lhs(), state, true);
// make the structure of the lhs as simple as possible to avoid,
Copy link
Contributor

Choose a reason for hiding this comment

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

This comment may be better placed in the Purpose section function since this might not be the only place it would get called

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hmm, just a brief question about your comment: what do you refer to as "it" when saying "it would get called?"

Copy link
Contributor

Choose a reason for hiding this comment

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

Apologies for the delay in responding. It refers to the function do_simplify. I believe this comment to be explaining this function (all the way down to line 45).

@tautschnig
Copy link
Collaborator Author

The one risk tied to this proposed commit is that there is a strict requirement that the simplifier must not introduce dereference operations.

@peterschrammel
Copy link
Member

@tautschnig, can we add an assertion so that we notice when the simplifier might be doing that (in future)?

@forejtv
Copy link
Contributor

forejtv commented Apr 4, 2017

@tautschnig What is the status of this PR, are you planning to add an assertion as suggested by @peterschrammel?

@tautschnig
Copy link
Collaborator Author

My apologies for keeping this one on the backlog: yes, I do intend to add this assertion as suggested. I'll try to get this done as soon as possible.

@tautschnig
Copy link
Collaborator Author

@peterschrammel @forejtv Assertion added as suggested - apologies for taking forever to implement a 1-line (plus comments) change.

@tautschnig tautschnig force-pushed the simplify-lhs branch 2 times, most recently from 8d33efa to 9c2f68b Compare July 17, 2017 19:26
@tautschnig tautschnig changed the base branch from master to develop August 22, 2017 12:38
@tautschnig tautschnig assigned tautschnig and unassigned kroening Sep 2, 2017
smowton added a commit to smowton/cbmc that referenced this pull request May 9, 2018
@tautschnig tautschnig requested a review from kroening as a code owner May 22, 2018 16:54
@tautschnig
Copy link
Collaborator Author

@thk123 @smowton Would it be possible to get a TG bump for this PR? I have now rebased it and also included a regression test to show what the effect is, but I'd like to make sure this doesn't cause any unexpected regressions. (It might as well just have zero impact in Java land.)

@tautschnig tautschnig assigned smowton and thk123 and unassigned tautschnig May 22, 2018
@smowton
Copy link
Contributor

smowton commented May 23, 2018

@tautschnig
Copy link
Collaborator Author

I have rebased this again as it seemed like Travis had been using a vastly outdated configuration.

This can help avoid some uses of byte_update, as the regression test shows.
@tautschnig
Copy link
Collaborator Author

@smowton @peterschrammel sorry to be a pain, but could you please re-review this PR in #2230, and also point the TG bump over there? I couldn't find any way to make Travis use an up-to-date configuration, it seems to be stuck back in 2016...

@tautschnig tautschnig closed this May 23, 2018
@tautschnig tautschnig deleted the simplify-lhs branch May 23, 2018 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants