-
Notifications
You must be signed in to change notification settings - Fork 274
Dirty locals analysis: consume goto_programt instead of goto_functiont #7244
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
Conversation
@kroening @martin-cs @peterschrammel There may be a point in not making this change to keep analysis APIs more consistent. Please let me know. |
2f60c82
to
3817e15
Compare
Codecov ReportBase: 78.28% // Head: 78.28% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## develop #7244 +/- ##
========================================
Coverage 78.28% 78.28%
========================================
Files 1642 1642
Lines 189980 190002 +22
========================================
+ Hits 148720 148742 +22
Misses 41260 41260
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. |
The key difference between the two data structures are the identifiers of the parameters. Which analyses need those? |
Further to this, a parameter may become dirty if you take its address. Unless we use |
Yes, but we don't even bother looking at whether a symbol has local scope or not: the analysis collects all symbols the address of which is taken. We could, arguably, refine that. |
3817e15
to
e08a951
Compare
The analysis does not use any information contained in a `goto_functiont` that's not already available in a `goto_programt`. Using this more specific type avoids any (future) use building unnecessary wrappers.
e08a951
to
4004524
Compare
This still bugs me a bit; it would seem that it may be preferable to have a common argument to procedure-local analyses, and |
I'm not entirely convinced that this refactoring has huge value, but nothing blocking.
Any plans to do that soon? |
Despite having approvals here: I will refrain from merging as the feedback suggests we might make better use of the existing signature in future, and the code churn just isn't really helpful. |
The analysis does not use any information contained in a
goto_functiont
that's not already available in agoto_programt
. Using this more specific type avoids any (future) use building unnecessary wrappers.