llvm-project/clang/test/Profile
Justin Bogner 970ac60573 InstrProf: Use LLVM's -instrprof pass for profiling
The logic for lowering profiling counters has been moved to an LLVM
pass. Emit the intrinsics rather than duplicating the whole pass in
clang.

llvm-svn: 223683
2014-12-08 19:04:51 +00:00
..
Inputs InstrProf: Update for LLVM API change 2014-08-01 22:50:16 +00:00
README PGO: Clarify the testing README 2014-03-11 18:18:12 +00:00
c-attributes.c test: Use llvm-profdata merge in Profile tests 2014-04-17 22:49:06 +00:00
c-captured.c InstrProf: Use the same names for variables as we use in the profile 2014-12-02 23:15:30 +00:00
c-counter-overflows.c test: Use llvm-profdata merge in Profile tests 2014-04-17 22:49:06 +00:00
c-general.c InstrProf: Use the same names for variables as we use in the profile 2014-12-02 23:15:30 +00:00
c-linkage-available_externally.c InstrProf: Use LLVM's -instrprof pass for profiling 2014-12-08 19:04:51 +00:00
c-linkage.c InstrProf: Use LLVM's -instrprof pass for profiling 2014-12-08 19:04:51 +00:00
c-outdated-data.c test: Use llvm-profdata merge in Profile tests 2014-04-17 22:49:06 +00:00
c-unprofiled-blocks.c test: Use llvm-profdata merge in Profile tests 2014-04-17 22:49:06 +00:00
c-unprofiled.c CodeGen: Improve warnings about uninstrumented files when profiling 2014-06-26 01:45:07 +00:00
cxx-class.cpp test: Use llvm-profdata merge in Profile tests 2014-04-17 22:49:06 +00:00
cxx-implicit.cpp CodeGen: Avoid instrumenting implicit Decls more effectively 2014-04-25 07:20:05 +00:00
cxx-lambda.cpp InstrProf: Use the same names for variables as we use in the profile 2014-12-02 23:15:30 +00:00
cxx-linkage.cpp InstrProf: Use LLVM's -instrprof pass for profiling 2014-12-08 19:04:51 +00:00
cxx-templates.cpp InstrProf: Set profile data to visibility hidden 2014-05-16 01:24:00 +00:00
cxx-throws.cpp InstrProf: Set profile data to visibility hidden 2014-05-16 01:24:00 +00:00
objc-general.m InstrProf: Use the same names for variables as we use in the profile 2014-12-02 23:15:30 +00:00

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.