Skip to content

Statement List: Language additions for boolean instructions #4924

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

Merged
merged 5 commits into from
Jul 19, 2019

Conversation

MatWise
Copy link
Contributor

@MatWise MatWise commented Jul 17, 2019

This PR expands the language subset of STL.

  1. Adds support for STL X, XN, X( and XN( instructions (XOR and XOR NOT).
  2. Enables the use of constants as function parameters.
  3. Fixes an issue that modified the RLO in a wrong way when a variable that contributed to the RLO was modified.
  • Each commit message has a non-empty body, explaining why the change was made.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

✔️
Passed Diffblue compatibility checks (cbmc commit: 397be23).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/119539272

@MatWise MatWise force-pushed the feature/stl-boolean-additions branch from 397be23 to 7cf5b9b Compare July 19, 2019 13:22
MatWise added 2 commits July 19, 2019 14:33
Adds support for the X, XN, X( and XN( instructions.
The STL grammar allows the direct use of constants when calling a
function. This commit implements this behaviour in order to simplify
function calls and to provide a better compatibility to existing STL
code.
@MatWise MatWise force-pushed the feature/stl-boolean-additions branch from 7cf5b9b to 2a66edf Compare July 19, 2019 13:43
MatWise added 3 commits July 19, 2019 16:05
Since the RLO is only modeled implicitly, changing a value that was
pushed on the RLO previously modifies the RLO post hoc. This fix should
allow for correct results when a value that contributes to the RLO is
modified.
Adds additional regression tests for module calls and XOR instructions.
@MatWise MatWise force-pushed the feature/stl-boolean-additions branch from 2a66edf to e01c4b5 Compare July 19, 2019 15:06
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 2a66edf).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/119811122
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

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

✔️
Passed Diffblue compatibility checks (cbmc commit: e01c4b5).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/119817074

@codecov-io
Copy link

Codecov Report

Merging #4924 into develop will increase coverage by 0.06%.
The diff coverage is 82.4%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #4924      +/-   ##
===========================================
+ Coverage     69.2%   69.26%   +0.06%     
===========================================
  Files         1307     1307              
  Lines       108054   108087      +33     
===========================================
+ Hits         74775    74866      +91     
+ Misses       33279    33221      -58
Impacted Files Coverage Δ
src/statement-list/parser.y 91.14% <ø> (+1.47%) ⬆️
src/statement-list/statement_list_typecheck.h 100% <ø> (ø) ⬆️
src/statement-list/statement_list_typecheck.cpp 74.33% <72.97%> (+10.98%) ⬆️
...rc/statement-list/statement_list_parse_tree_io.cpp 94.68% <96.07%> (-1.99%) ⬇️
src/util/std_expr.h 91.02% <0%> (+0.02%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c71d73c...e01c4b5. Read the comment docs.

@pkesseli pkesseli merged commit 1edf4d9 into diffblue:develop Jul 19, 2019
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.

4 participants