1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/Instrumentation
Fangrui Song 69094d3a4d [InstrProfiling] Use llvm.compiler.used instead of llvm.used for ELF
Many optimizers (e.g.  GlobalOpt/ConstantMerge) do not respect linker semantics
for comdat and may not discard the sections as a unit.

The interconnected `__llvm_prf_{cnts,data}` sections (in comdat for ELF)
are similar to D97432: `__profd_` is not directly referenced, so
`__profd_` may be discarded while `__profc_` is retained, breaking the
interconnection.  We currently conservatively add all such sections to
`llvm.used` and let the linker do GC for ELF.

In D97448, we will change GlobalObject's in the llvm.used list to use SHF_GNU_RETAIN,
causing the metadata sections to be unnecessarily retained (some `check-profile` tests check for GC).
Use `llvm.compiler.used` to retain the current GC behavior.

Differential Revision: https://reviews.llvm.org/D97585
2021-02-26 16:14:03 -08:00
..
AddressSanitizer [asan] Avoid putting globals in a comdat section when targetting elf. 2021-02-24 12:01:56 +00:00
BoundsChecking
DataFlowSanitizer [dfsan] Record dfsan metadata in globals 2021-02-26 14:42:46 -08:00
HeapProfiler
HWAddressSanitizer [NFC] Disallow unused prefixes under llvm/test 2021-01-21 20:31:52 -08:00
InstrOrderFile
InstrProfiling [InstrProfiling] Use llvm.compiler.used instead of llvm.used for ELF 2021-02-26 16:14:03 -08:00
MemorySanitizer [msan] Set cmpxchg shadow precisely 2021-02-19 20:23:23 +00:00
PoisonChecking
SanitizerCoverage [SanitizerCoverage] Clarify llvm.used/llvm.compiler.used and partially fix unmatched metadata sections on Windows 2021-02-26 11:10:03 -08:00
ThreadSanitizer
cgprofile.ll