aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorPetr Hosek <phosek@google.com>2019-07-13 14:02:07 -0700
committerPetr Hosek <phosek@google.com>2021-02-01 15:01:43 -0800
commitdf3e39f60b356ca9dbfc11e96e5fdda30afa7acb (patch)
tree2175c9741fd470453cab67efe0976c46a5d02905 /llvm/lib/Support/VirtualFileSystem.cpp
parent93345e825a0733f6a67898f6d6d156ff56db80e7 (diff)
downloadllvm-df3e39f60b356ca9dbfc11e96e5fdda30afa7acb.zip
llvm-df3e39f60b356ca9dbfc11e96e5fdda30afa7acb.tar.gz
llvm-df3e39f60b356ca9dbfc11e96e5fdda30afa7acb.tar.bz2
[InstrProfiling] Use !associated metadata for counters, data and values
C identifier name input sections such as __llvm_prf_* are GC roots so they cannot be discarded. In LLD, the SHF_LINK_ORDER flag overrides the C identifier name semantics. The !associated metadata may be attached to a global object declaration with a single argument that references another global object, and it gets lowered to SHF_LINK_ORDER flag. When a function symbol is discarded by the linker, setting up !associated metadata allows linker to discard counters, data and values associated with that function symbol. Note that !associated metadata is only supported by ELF, it does not have any effect on non-ELF targets. Differential Revision: https://reviews.llvm.org/D76802
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
0 files changed, 0 insertions, 0 deletions