llvm-project/clang/test/Profile
Justin Bogner e2ef2a09ef CodeGen: Emit warnings for out of date profile data during PGO
This adds a warning that triggers when profile data doesn't match for
the source that's being compiled with -fprofile-instr-use=. This fires
only once per translation unit, as warning on every mismatched
function would be quite noisy.

llvm-svn: 206322
2014-04-15 21:22:35 +00:00
..
Inputs CodeGen: Handle CapturedStmt in instrumentation based profiling 2014-04-15 00:50:54 +00:00
README PGO: Clarify the testing README 2014-03-11 18:18:12 +00:00
c-attributes.c
c-captured.c CodeGen: Handle CapturedStmt in instrumentation based profiling 2014-04-15 00:50:54 +00:00
c-counter-overflows.c PGO: Statically generate data structures 2014-03-17 21:18:30 +00:00
c-general.c CodeGen: Handle binary conditional operators in PGO instrumentation 2014-04-11 06:10:10 +00:00
c-linkage-available_externally.c PGO: Don't define instrumentation data available_externally 2014-03-20 22:50:08 +00:00
c-linkage.c InstrProf: Emit runtime hook directly in IRGen 2014-03-28 17:53:22 +00:00
c-outdated-data.c CodeGen: Emit warnings for out of date profile data during PGO 2014-04-15 21:22:35 +00:00
c-unprofiled-blocks.c CodeGen: Don't create branch weight metadata from empty profiles 2014-04-04 02:48:51 +00:00
cxx-class.cpp PGO: Change runtime prefix from pgo to profile 2014-03-20 20:00:41 +00:00
cxx-lambda.cpp CodeGen: Fix handling of C++11 lambdas in profiling 2014-04-11 23:06:35 +00:00
cxx-linkage.cpp InstrProf: Emit runtime hook directly in IRGen 2014-03-28 17:53:22 +00:00
cxx-templates.cpp CodeGen: Test instrumentation based profiling of templates 2014-04-12 00:54:06 +00:00
cxx-throws.cpp PGO: Change runtime prefix from pgo to profile 2014-03-20 20:00:41 +00:00
objc-general.m [PGO] Add simplified branch weights for Objective-C for-collection loops. 2014-03-25 23:26:31 +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.