-
Notifications
You must be signed in to change notification settings - Fork 10.8k
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
[MC/DC] Refactor: Isolate the final result out of TestVector #82282
Conversation
I supposed this is the draft for opinion at first time, but I think it better to land in advance of #82174 , to clarify its effect (bitcount expected equal to 1). |
@@ -258,6 +258,12 @@ class MCDCRecordProcessor { | |||
/// ExecutedTestVectorBitmap. | |||
MCDCRecord::TestVectors ExecVectors; | |||
|
|||
/// Temporary use |
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.
Can you expand on this comment a little?
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.
I've modified for ExecVectorsByCond[0]
as the storage of the final ExecVectors
.
To reduce conditional judges in the loop in
findIndependencePairs()
, I have tried a couple of tweaks.TestVectors
using TestVectors = llvm::SmallVector<std::pair<TestVector, CondState>>;
The final result was just piggybacked on
TestVector
, so it has been isolated.ExecVectors
by the final resultIt will cost more in constructing
ExecVectors
, but it can reduce at least one conditional judgement in the loop.