llvm-project/clang/test/Profile
Alan Phipps 9f2967bcfe [Coverage] Add support for Branch Coverage in LLVM Source-Based Code Coverage
This is an enhancement to LLVM Source-Based Code Coverage in clang to track how
many times individual branch-generating conditions are taken (evaluate to TRUE)
and not taken (evaluate to FALSE).  Individual conditions may comprise larger
boolean expressions using boolean logical operators.  This functionality is
very similar to what is supported by GCOV except that it is very closely
anchored to the ASTs.

Differential Revision: https://reviews.llvm.org/D84467
2021-01-05 09:51:51 -06:00
..
Inputs [Coverage] Add support for Branch Coverage in LLVM Source-Based Code Coverage 2021-01-05 09:51:51 -06:00
README
branch-logical-mixed.cpp [Coverage] Add support for Branch Coverage in LLVM Source-Based Code Coverage 2021-01-05 09:51:51 -06:00
branch-profdup.cpp [Coverage] Add support for Branch Coverage in LLVM Source-Based Code Coverage 2021-01-05 09:51:51 -06:00
c-avoid-direct-call.c
c-captured.c [test] Add {{.*}} to make tests immune to dso_local/dso_preemptable/(none) differences 2020-12-30 20:52:01 -08:00
c-collision.c [PGO] Fix computation of function Hash 2020-05-27 09:15:21 +02:00
c-counter-overflows.c Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
c-general.c [Coverage] Add support for Branch Coverage in LLVM Source-Based Code Coverage 2021-01-05 09:51:51 -06:00
c-generate.c Revert 741978d727 and things that landed on top of it. 2020-12-23 12:52:11 -05:00
c-indirect-call.c
c-linkage-available_externally.c
c-linkage.c
c-outdated-data.c
c-ternary.c [test] Add {{.*}} to make tests immune to dso_local/dso_preemptable/(none) differences 2020-12-30 20:52:01 -08:00
c-unprofiled-blocks.c [clang] Add mustprogress and llvm.loop.mustprogress attribute deduction 2020-11-04 22:03:14 -05:00
c-unprofiled.c
c-unreachable-after-switch.c
cxx-abc-deleting-dtor.cpp [CodeGen] Apply 'nonnull' and 'dereferenceable(N)' to 'this' pointer 2020-11-16 17:39:17 -08:00
cxx-class.cpp Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
cxx-hash-v2.cpp
cxx-implicit.cpp
cxx-indirect-call.cpp
cxx-lambda.cpp [Coverage] Add support for Branch Coverage in LLVM Source-Based Code Coverage 2021-01-05 09:51:51 -06:00
cxx-linkage.cpp
cxx-missing-bodies.cpp
cxx-rangefor.cpp Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
cxx-stmt-initializers.cpp
cxx-structors.cpp
cxx-templates.cpp Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
cxx-throws.cpp Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
cxx-virtual-destructor-calls.cpp
def-assignop.cpp Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
def-ctors.cpp Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
def-dtors.cpp Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
func-entry.c
gcc-flag-compatibility.c Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
objc-general.m Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
profile-does-not-exist.c
profile-summary.c

README

These are tests for instrumentation based profiling.  This specifically means
the -fprofile-instr-generate and -fprofile-instr-use driver flags.

Tests in this directory should usually test both:

  - the generation of instrumentation (-fprofile-instr-generate), and
  - the use of profile data from instrumented runs (-fprofile-instr-use).

In order to test -fprofile-instr-use without actually running an instrumented
program, .profdata files are checked into Inputs/.

The input source files must include a main function such that building with
-fprofile-instr-generate and running the resulting program generates the same
.profdata file that is consumed by the tests for -fprofile-instr-use.  Even
tests that only check -fprofile-instr-use should include such a main function,
so that profile data can be regenerated as the .profdata file format evolves.