hanchenye-llvm-project/clang/test/Profile
Justin Bogner 203f91e311 InstrProf: Don't emit counter increments in dead code
We were previously emitting counter increments even if we didn't have
an insertion point, which would result in a CallInst with no
parent. This leads to a crash, as in pr22166, if we try to do
GlobalDCE.

llvm-svn: 225495
2015-01-09 01:46:40 +00:00
..
Inputs
README
c-attributes.c
c-captured.c IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +00:00
c-counter-overflows.c IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +00:00
c-general.c IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +00:00
c-linkage-available_externally.c
c-linkage.c
c-outdated-data.c
c-unprofiled-blocks.c
c-unprofiled.c
c-unreachable-after-switch.c InstrProf: Don't emit counter increments in dead code 2015-01-09 01:46:40 +00:00
cxx-class.cpp IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +00:00
cxx-implicit.cpp
cxx-lambda.cpp IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +00:00
cxx-linkage.cpp
cxx-templates.cpp IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +00:00
cxx-throws.cpp IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +00:00
objc-general.m IR: Make metadata typeless in assembly, clang side 2014-12-15 19:10:08 +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.