llvm-mirror/test/Instrumentation/InstrProfiling
Vedant Kumar 76fc38039a [InstrProfiling] Emit the runtime hook when no counters are lowered
The API verification tool tapi has difficulty processing frameworks
which enable code coverage, but which have no code. The profile lowering
pass does not emit the runtime hook in this case because no counters are
lowered.

While the hook is not needed for program correctness (the profile
runtime doesn't have to be linked in), it's needed to allow tapi to
validate the exported symbol set of instrumented binaries.

It was not possible to add a workaround in tapi for empty binaries due
to an architectural issue: tapi generates its expected symbol set before
it inspects a binary. Changing that model has a higher cost than simply
forcing llvm to always emit the runtime hook.

rdar://36076904

Differential Revision: https://reviews.llvm.org/D43794

llvm-svn: 326350
2018-02-28 19:00:08 +00:00
..
X86 [PGO] Add test case to ensure covmap section is not allocatable. 2016-02-26 03:05:10 +00:00
always_inline.ll [InstrProf] Don't take the address of alwaysinline available_externally functions 2017-06-13 22:12:35 +00:00
early-exit.ll [InstrProfiling] Don't exit early when an unused intrinsic is found 2018-01-27 00:01:04 +00:00
icall.ll Resubmit r297897: [PGO] Value profile for size of memory intrinsic calls 2017-03-16 21:15:48 +00:00
linkage.ll [InstrProfiling] Emit the runtime hook when no counters are lowered 2018-02-28 19:00:08 +00:00
no-counters.ll [InstrProfiling] Emit the runtime hook when no counters are lowered 2018-02-28 19:00:08 +00:00
noruntime.ll Port InstrProfiling pass to the new pass manager 2016-04-18 17:47:38 +00:00
platform.ll Re-apply "[profiling] Remove dead profile name vars after emitting name data" 2017-02-14 20:03:48 +00:00
PR23499.ll [Profile] PE binary coverage bug fix 2017-04-13 23:37:12 +00:00
profiling.ll [InstrProfiling] Emit the runtime hook when no counters are lowered 2018-02-28 19:00:08 +00:00