summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2017-02-14 20:03:48 +0000
committerVedant Kumar <vsk@apple.com>2017-02-14 20:03:48 +0000
commit55891fc71e77cb0f55d4c1b653e0ed4c3db848c9 (patch)
tree9311920d2112ba587d494cdcc32676a83ca7b60f /clang/lib/Frontend/CompilerInvocation.cpp
parent6edc4883fe32490f9f1f54ee01ab4f4641a40292 (diff)
downloadbcm5719-llvm-55891fc71e77cb0f55d4c1b653e0ed4c3db848c9.tar.gz
bcm5719-llvm-55891fc71e77cb0f55d4c1b653e0ed4c3db848c9.zip
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
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud