-
Notifications
You must be signed in to change notification settings - Fork 273
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
SYNTHESIZER: Use only symbols from the original goto as terminals #7970
SYNTHESIZER: Use only symbols from the original goto as terminals #7970
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to include a test that demonstrates what difference this change makes?
auto tmp = it; | ||
tmp++; | ||
result.erase(it); | ||
it = tmp; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it = result.erase(it);
be sufficient here?
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #7970 +/- ##
===========================================
- Coverage 78.83% 78.59% -0.24%
===========================================
Files 1701 1701
Lines 196265 196270 +5
===========================================
- Hits 154729 154264 -465
- Misses 41536 42006 +470
☔ View full report in Codecov by Sentry. |
The only difference is the performance of the enumeration. For example, it took 38 seconds to run the benchmark |
Collecting variables from trace will also collect those variables added during loop transformation, such as the car variables. Such variables should not appear in the loop contracts. This commit erases them from the terminals of the enumearting grammar used by the synthesizer.
62e3062
to
535bf95
Compare
Collecting variables from trace will also collect those variables added during loop transformation, such as the car variables. Those variables should not appear in the loop contracts. This commit erases them from the terminals of the enumerating grammar used by the synthesizer.