[PATCH] D138847: MC/DC in LLVM Source-Based Code Coverage: llvm-cov visualization
Alan Phipps via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 28 11:58:21 PST 2022
alanphipps created this revision.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
alanphipps requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
MC/DC in LLVM Source-based Code Coverage: Review 2/3
I previously upstreamed work to enable Branch Coverage (https://reviews.llvm.org/D84467), which was pushed in early 2021. MC/DC (Modified Condition/Decision Coverage) is a planned enhancement to Source-based Code Coverage. Implementation was completed in May for our downstream Arm compiler, and in general use it has not yielded any issues. Our downstream implementation does not use most of the compiler-rt profile functionality, and so that is relatively new to this patch.
See attached file for Background, Motivation, Design, and Implementation Concepts:
See attached PDF for Technical Talk slides from 2022 LLVM Developers' Meeting:
I am also available at Discord @alanphipps
https://reviews.llvm.org/D138847
Files:
llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
llvm/test/tools/llvm-cov/Inputs/binary-formats.canonical.json
llvm/test/tools/llvm-cov/Inputs/mcdc-const-folding.cpp
llvm/test/tools/llvm-cov/Inputs/mcdc-const-folding.o32l
llvm/test/tools/llvm-cov/Inputs/mcdc-const-folding.proftext
llvm/test/tools/llvm-cov/Inputs/mcdc-const.cpp
llvm/test/tools/llvm-cov/Inputs/mcdc-const.o32l
llvm/test/tools/llvm-cov/Inputs/mcdc-const.proftext
llvm/test/tools/llvm-cov/Inputs/mcdc-general-none.proftext
llvm/test/tools/llvm-cov/Inputs/mcdc-general.cpp
llvm/test/tools/llvm-cov/Inputs/mcdc-general.o32l
llvm/test/tools/llvm-cov/Inputs/mcdc-general.proftext
llvm/test/tools/llvm-cov/mcdc-const.test
llvm/test/tools/llvm-cov/mcdc-export-json.test
llvm/test/tools/llvm-cov/mcdc-general-none.test
llvm/test/tools/llvm-cov/mcdc-general.test
llvm/tools/llvm-cov/CodeCoverage.cpp
llvm/tools/llvm-cov/CoverageExporterJson.cpp
llvm/tools/llvm-cov/CoverageReport.cpp
llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
llvm/tools/llvm-cov/CoverageSummaryInfo.h
llvm/tools/llvm-cov/CoverageViewOptions.h
llvm/tools/llvm-cov/SourceCoverageView.cpp
llvm/tools/llvm-cov/SourceCoverageView.h
llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
llvm/tools/llvm-cov/SourceCoverageViewHTML.h
llvm/tools/llvm-cov/SourceCoverageViewText.cpp
llvm/tools/llvm-cov/SourceCoverageViewText.h
llvm/unittests/ProfileData/CoverageMappingTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D138847.478311.patch
Type: text/x-patch
Size: 98013 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221128/40809f9b/attachment-0001.bin>
More information about the llvm-commits
mailing list