llvm-project/llvm/test/Instrumentation/InstrProfiling
Vedant Kumar 55891fc71e Re-apply "[profiling] Remove dead profile name vars after emitting name data"
This reverts 295092 (re-applies 295084), with a fix for dangling
references from the array of coverage names passed down from frontends.

I missed this in my initial testing because I only checked test/Profile,
and not test/CoverageMapping as well.

Original commit message:

The profile name variables passed to counter increment intrinsics are dead
after we emit the finalized name data in __llvm_prf_nm. However, we neglect to
erase these name variables. This causes huge size increases in the
__TEXT,__const section as well as slowdowns when linker dead stripping is
disabled. Some affected projects are so massive that they fail to link on
Darwin, because only the small code model is supported.

Fix the issue by throwing away the name constants as soon as we're done with
them.

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

llvm-svn: 295099
2017-02-14 20:03:48 +00:00
..
X86 [PGO] Add test case to ensure covmap section is not allocatable. 2016-02-26 03:05:10 +00:00
PR23499.ll Re-apply "[profiling] Remove dead profile name vars after emitting name data" 2017-02-14 20:03:48 +00:00
icall.ll [InstrProfiling] Mark __llvm_profile_instrument_target last parameter as i32 zeroext if appropriate. 2016-11-21 11:57:19 +00:00
linkage.ll [profile] Fix runtime hook linkage bug for COFF 2016-05-24 18:47:38 +00:00
no-counters.ll Port InstrProfiling pass to the new pass manager 2016-04-18 17:47:38 +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
profiling.ll Re-apply "[profiling] Remove dead profile name vars after emitting name data" 2017-02-14 20:03:48 +00:00