[PATCH] D84467: Add support for Branch Coverage in LLVM Source-Based Code Coverage

Alan Phipps via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Oct 3 18:14:36 PDT 2020


alanphipps updated this revision to Diff 296017.
alanphipps added a comment.

Updated diff:
1.) Fix a defect in the CGExprScalar.cpp code to instrument RHS condition for branch coverage that resulted in a RHS condition as being evaluated twice.  This is incorrect behavior since a condition may have side-effects.  I also added a test.
2.) Back out unintended whitespace/punctuation (please let me know if I overlooked anything).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84467/new/

https://reviews.llvm.org/D84467

Files:
  clang/lib/CodeGen/CGExprScalar.cpp
  clang/lib/CodeGen/CGStmt.cpp
  clang/lib/CodeGen/CodeGenFunction.cpp
  clang/lib/CodeGen/CodeGenFunction.h
  clang/lib/CodeGen/CodeGenPGO.cpp
  clang/lib/CodeGen/CoverageMappingGen.cpp
  clang/lib/CodeGen/CoverageMappingGen.h
  clang/test/CoverageMapping/branch-constfolded.cpp
  clang/test/CoverageMapping/branch-logical-mixed.cpp
  clang/test/CoverageMapping/branch-macros.cpp
  clang/test/CoverageMapping/branch-mincounters.cpp
  clang/test/CoverageMapping/branch-templates.cpp
  clang/test/CoverageMapping/continue.c
  clang/test/CoverageMapping/coroutine.cpp
  clang/test/CoverageMapping/if.cpp
  clang/test/CoverageMapping/label.cpp
  clang/test/CoverageMapping/logical.cpp
  clang/test/CoverageMapping/loopmacro.c
  clang/test/CoverageMapping/loops.cpp
  clang/test/CoverageMapping/macro-expansion.c
  clang/test/CoverageMapping/macro-expressions.cpp
  clang/test/CoverageMapping/macros.c
  clang/test/CoverageMapping/macroscopes.cpp
  clang/test/CoverageMapping/moremacros.c
  clang/test/CoverageMapping/return.c
  clang/test/CoverageMapping/switch.cpp
  clang/test/CoverageMapping/switchmacro.c
  clang/test/CoverageMapping/test.c
  clang/test/CoverageMapping/unreachable-macro.c
  clang/test/CoverageMapping/while.c
  clang/test/Profile/Inputs/c-general.proftext
  clang/test/Profile/branch-logical-mixed.cpp
  clang/test/Profile/branch-profdup.cpp
  clang/test/Profile/c-general.c
  clang/test/Profile/cxx-lambda.cpp
  llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
  llvm/include/llvm/ProfileData/InstrProf.h
  llvm/include/llvm/ProfileData/InstrProfData.inc
  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/branch-c-general.o32l
  llvm/test/tools/llvm-cov/Inputs/branch-c-general.proftext
  llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.o32l
  llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.proftext
  llvm/test/tools/llvm-cov/Inputs/branch-macros.o32l
  llvm/test/tools/llvm-cov/Inputs/branch-macros.proftext
  llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.o32l
  llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.proftext
  llvm/test/tools/llvm-cov/Inputs/branch-templates.o32l
  llvm/test/tools/llvm-cov/Inputs/branch-templates.proftext
  llvm/test/tools/llvm-cov/Inputs/showExpansions.json
  llvm/test/tools/llvm-cov/branch-c-general.c
  llvm/test/tools/llvm-cov/branch-export-json.test
  llvm/test/tools/llvm-cov/branch-export-lcov.test
  llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
  llvm/test/tools/llvm-cov/branch-macros.cpp
  llvm/test/tools/llvm-cov/branch-noShowBranch.test
  llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
  llvm/test/tools/llvm-cov/branch-templates.cpp
  llvm/test/tools/llvm-cov/ignore-filename-regex.test
  llvm/tools/llvm-cov/CodeCoverage.cpp
  llvm/tools/llvm-cov/CoverageExporterJson.cpp
  llvm/tools/llvm-cov/CoverageExporterLcov.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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84467.296017.patch
Type: text/x-patch
Size: 209573 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201004/09bdf6f3/attachment-0001.bin>


More information about the cfe-commits mailing list