Skip to content

Simplify byte extract: use lowering when expression is a constant #7340

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 2 commits into from
Nov 29, 2022

Conversation

tautschnig
Copy link
Collaborator

When none of the earlier simplification rules apply, rewrite the expression to to apply simplification rules for arithmetic and logic expressions.

  • Each commit message has a non-empty body, explaining why the change was made.
  • n/a Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • n/a 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).
  • n/a My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • n/a White-space or formatting changes outside the feature-related changed lines are in commits of their own.

@tautschnig tautschnig self-assigned this Nov 13, 2022
@tautschnig tautschnig added blocker Kani Bugs or features of importance to Kani Rust Verifier labels Nov 13, 2022
@tautschnig tautschnig changed the title Simplify byte extract: use lowering when expression is a constant [depends-on: #7331, #7339] Simplify byte extract: use lowering when expression is a constant [depends-on: #7331] Nov 20, 2022
@feliperodri
Copy link
Collaborator

@tautschnig #7331 got merged, so this PR should be ready for a rebase before going through review.

@tautschnig tautschnig changed the title Simplify byte extract: use lowering when expression is a constant [depends-on: #7331] Simplify byte extract: use lowering when expression is a constant Nov 28, 2022
We must not end up with single-element concatenation that has a
type different from its operand. Observed on Pointer_byte_extract8 once
enabling further simplification of byte extract.
@tautschnig tautschnig force-pushed the feature/be-simplify-lowering branch from f746c86 to f91f60a Compare November 28, 2022 22:23
@tautschnig tautschnig marked this pull request as ready for review November 28, 2022 22:27
When none of the earlier simplification rules apply, rewrite the
expression to to apply simplification rules for arithmetic and logic
expressions.
@tautschnig tautschnig force-pushed the feature/be-simplify-lowering branch from f91f60a to 7c2fa6f Compare November 28, 2022 22:34
@peterschrammel peterschrammel removed their assignment Nov 28, 2022
@tautschnig tautschnig assigned tautschnig and unassigned kroening Nov 28, 2022
@codecov
Copy link

codecov bot commented Nov 28, 2022

Codecov Report

Base: 78.37% // Head: 78.39% // Increases project coverage by +0.01% 🎉

Coverage data is based on head (7c2fa6f) compared to base (941030e).
Patch coverage: 93.39% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #7340      +/-   ##
===========================================
+ Coverage    78.37%   78.39%   +0.01%     
===========================================
  Files         1647     1647              
  Lines       190328   190362      +34     
===========================================
+ Hits        149172   149226      +54     
+ Misses       41156    41136      -20     
Impacted Files Coverage Δ
src/analyses/constant_propagator.h 82.35% <ø> (ø)
src/ansi-c/expr2c.cpp 67.66% <ø> (+0.42%) ⬆️
src/goto-instrument/havoc_loops.cpp 0.00% <0.00%> (ø)
src/util/pointer_predicates.cpp 95.12% <ø> (+2.39%) ⬆️
src/util/pointer_predicates.h 100.00% <ø> (ø)
src/util/simplify_expr_class.h 90.47% <ø> (ø)
src/util/simplify_expr_pointer.cpp 86.58% <ø> (+0.75%) ⬆️
src/analyses/constant_propagator.cpp 95.46% <88.88%> (ø)
src/util/expr_util.cpp 90.55% <95.83%> (+0.81%) ⬆️
src/ansi-c/c_typecheck_expr.cpp 75.60% <100.00%> (ø)
... and 20 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@tautschnig tautschnig merged commit d60295d into diffblue:develop Nov 29, 2022
@tautschnig tautschnig deleted the feature/be-simplify-lowering branch November 29, 2022 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aws-high Kani Bugs or features of importance to Kani Rust Verifier
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants