llvm-project/llvm/lib
Vedant Kumar bb10484662 [profiling] Remove dead profile name vars after emitting name data
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: 295084
2017-02-14 18:48:48 +00:00
..
Analysis [LazyBFI] Fix typos 2017-02-14 17:21:12 +00:00
AsmParser Change debug-info-for-profiling from a TargetOption to a function attribute. 2017-02-01 22:45:09 +00:00
Bitcode Move symbols from the global namespace into (anonymous) namespaces. NFC. 2017-02-11 11:06:55 +00:00
CodeGen [Tablegen] Instrumenting table gen DAGGenISelDAG 2017-02-14 18:32:41 +00:00
DebugInfo Add an additional set of braces to deal with subobject initialization. 2017-02-10 00:02:09 +00:00
Demangle Add support for demangling C++11 thread_local variables. 2017-01-31 15:56:36 +00:00
ExecutionEngine [CMake] Fix pthread handling for out-of-tree builds 2017-02-10 01:59:20 +00:00
Fuzzer [libFuzzer] Use stoull instead of stol to ensure 64 bits. 2017-02-10 18:44:14 +00:00
IR fix documentation comments for Argument; NFC 2017-02-14 16:43:49 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO [ThinLTO] Make a copy of buffer identifier in ThinLTOCodeGenerator 2017-02-14 02:20:51 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker IRMover: Merge flags LinkModuleInlineAsm and IsPerformingImport. 2017-02-03 17:01:14 +00:00
MC [MC] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-14 00:33:36 +00:00
Object Yet another fix llvm-objdump so it picks a good CPU based for Mach-O files, 2017-02-10 19:27:10 +00:00
ObjectYAML Move symbols from the global namespace into (anonymous) namespaces. NFC. 2017-02-11 11:06:55 +00:00
Option Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Passes [PM] Hook up the instrumented PGO machinery in the new PM. 2017-02-13 15:26:22 +00:00
ProfileData Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Support [CMake] Fix pthread handling for out-of-tree builds 2017-02-10 01:59:20 +00:00
TableGen Use print() instead of dump() in code 2017-01-28 02:47:46 +00:00
Target [Hexagon] Remove leftover debugging code 2017-02-14 17:37:44 +00:00
Transforms [profiling] Remove dead profile name vars after emitting name data 2017-02-14 18:48:48 +00:00
XRay Move symbols from the global namespace into (anonymous) namespaces. NFC. 2017-02-11 11:06:55 +00:00
CMakeLists.txt [XRay] Define the library for XRay trace logs 2017-01-11 06:39:09 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00