-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
C++: Fix some FPs in cpp/missing-check-scanf
(second attempt)
#17938
base: main
Are you sure you want to change the base?
C++: Fix some FPs in cpp/missing-check-scanf
(second attempt)
#17938
Conversation
e0f0b0a
to
930efc2
Compare
|
d01d8f1
to
7a802d5
Compare
7a802d5
to
ac2630c
Compare
ac2630c
to
bb85aa2
Compare
cpp/missing-check-scanf
(second attempt)
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.
Comments on the first two commits. There's a few comments to occur in several places. Feel free to only react to one of those if you think nothing needs to be changed.
Co-authored-by: Jeroen Ketema <[email protected]>
Co-authored-by: Jeroen Ketema <[email protected]>
Co-authored-by: Jeroen Ketema <[email protected]>
6d908a4
to
42c1937
Compare
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.
This feels a lot less magical than what was there before. One small comment.
Co-authored-by: Jeroen Ketema <[email protected]>
DCA doesn't show any alert differences. How about MRVA? |
Something odd going on when testing this locally. The DB/commit pair that seemed to work on DCA is now exploding locally 😰 I'm debugging this now! |
I've managed to figure out why DCA runs fine, but local runs hit a tuple explosion: The problem is that the But because they're both in the same cached stage they get evaluated together when you don't specify Obviously we may want to call |
#16009 gave good results, but was unfortunately closed due to performance problems in DCA. Initially, I had concluded that GVN was causing
ensuresEq(test, e, ..., block, ...)
to hold for too many (e, block
) pairs and thus causing a slowdown.After working through some performance problems in Ben's alternative PR #17907 I realized that the performance problem was actually coming from an existing problem in the
unary_simple_comparison_eq
predicate: currently, onmain
, there is a very large QLDoc and some very ad-hoc conjunctions in the second disjunct ofunary_simple_comparison_eq
to reduce the size of the predicate. However, it turns out that this is too doing a very good job.Instead, the second commit is restricting the predicate properly by pruning the set down to only those tests that are used in unary comparisons that we actually care about.
Commits a40c1d5 and db38069 are taken from #16009 which @jketema has already looked at (although I don't blame you for wanting to re-review it if you want to. Let me know if you want me to split up the complex commit again like in #16009). The only new thing is the pruning in 442968c
The commits that were tested at the latest DCA is consistent with the HEAD of this branch. I just force-pushed to clean up tests remove some spurious imports I had when experimenting with stuff.