-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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][Coverage] Loosen the limit of NumConds from 6 #82448
Merged
Merged
Changes from 15 commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
d168e0c
Implement MCDCTVIdxBuilder and MCDCTestVectorBuilder (LLVM side)
chapuni 35b19ea
Revert "Implement MCDCTVIdxBuilder and MCDCTestVectorBuilder (LLVM si…
chapuni 8c777eb
[Coverage] MCDCRecordProcessor: Find `ExecVectors` directly
chapuni 56042d3
Merge branch 'mcdc/xv' into HEAD
chapuni 5432aec
Implement MCDCTVIdxBuilder (LLVM side)
chapuni 3ee8a61
Update comments and assertions
chapuni 2fd504a
Merge remote-tracking branch 'origin/main' into mcdc/tvidx
chapuni 1f0f3fc
Reorganize TVIdxBuilder
chapuni 06c0801
Merge remote-tracking branch 'origin/main' into mcdc/tvidx
chapuni aa5b2f5
Merge remote-tracking branch 'origin/main' into HEAD
chapuni e3de647
[CoverageMapping] Refactor `mcdc::TVIdxBuilder`
chapuni 753d0ad
remove <functional>
chapuni 17cbac7
Update comments.
chapuni 1a4ffa7
Add unittest
chapuni b5ecfcc
[MC/DC][Coverage] Loosen the limit of NumConds from 6
chapuni 0ffad9c
Update testcases
chapuni c96fd2c
Use llvm::sort
chapuni 357a693
EXPECT_
chapuni 83d104c
Merge branch 'mcdc/tvidx' into HEAD
chapuni 14c795e
Hide NConds
chapuni b6c1174
Merge remote-tracking branch 'chapuni/main' into mcdc/tvidx
chapuni cf936f6
Merge branch 'users/chapuni/mcdc/tvidx' into HEAD
chapuni 662bdd6
Reformat
chapuni ac16655
Merge remote-tracking branch 'origin/main' into mcdc/clangtvidx
chapuni 90bf8e9
Clarify bool
chapuni 9eb6951
Update comments
chapuni 86d67c6
Use MutableArrayRef :)
chapuni 01abca2
Merge remote-tracking branch 'origin/main' into mcdc/clangtvidx
chapuni 183c706
Merge branch 'main' into mcdc/clangtvidx
chapuni dd6f8be
Clarify 3rd arg of mcdc.tvbitmap.update is unused
chapuni cdd5531
Modify 3rd arg of mcdc.parameters to bits
chapuni 54e6044
isMCDCBranch: Remove assert
chapuni b1a7100
isMCDCDecision: Remove assert
chapuni 39802c5
Make llvm-cov capable of clang-18's profdata
chapuni f54c64d
Fix unittest
chapuni a6f7eef
Introduce `-fmcdc-max-conditions` and `-fmcdc-max-test-vectors`
chapuni 0dd7ead
Merge branch 'main' into HEAD
chapuni cf837ae
mcdc-system-headers.cpp: Update
chapuni 9e14c2a
llvm-cov tests for old (Version11) files
chapuni 04f18ae
Merge branch 'main' into mcdc/clangtvidx
chapuni 3ff3eb7
Update CoverageMapping/mcdc-scratch-space.c
chapuni 296f5c5
Don't create tvbitmap_update if the record is allocated but excluded.
chapuni 722424b
Update mcdc-error-conditions.cpp
chapuni 183bc52
Update documents
chapuni 83088f1
mcdc.tvupdate doesn't depend on condupdate
chapuni 40872f5
Update SourceBasedCodeCoverage.rst
chapuni be5b28b
SourceBasedCodeCoverage.rst: s/you/users/
chapuni 450d86b
SourceBasedCodeCoverage.rst: Clarify to be excluded.
chapuni File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 think the limit should be controlled by a flag, with a reasonable default value.
E.g.
-mcdc-max-conditions=<value>
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.
MaxCond
is one of options. I guess it could be configurable just for theirs coding rules, since I think controllingMaxCond
would not make sense.I know we have to introduce other options as well. I will do later.
MaxCond
MaxTVs
to restrict per-expression number of TVsThere 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 know you will do this later, but I also wanted to echo the desire for a means to control the condition limit to warn the user against unintended memory footprint expansion, most useful in embedded development contexts. It may not otherwise be obvious to most users what is contributing to larger memory usage. We could also override the default in downstream toolchains.
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.
Also why 32767? Max signed 16-bit value? Is there a reason?
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.
@evodius96 I've introduced
-fmcdc-max-conditions=32767
.@ornata I have no idea how to determine practical limit for that. So I use
SHRT_MAX
.