1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Instrumentation/SanitizerCoverage
Fangrui Song 95d9b0ea49 [SanitizerCoverage] Clarify llvm.used/llvm.compiler.used and partially fix unmatched metadata sections on Windows
`__sancov_pcs` parallels the other metadata section(s). While some optimizers
(e.g. GlobalDCE) respect linker semantics for comdat and retain or discard the
sections as a unit, some (e.g.  GlobalOpt/ConstantMerge) do not. So we have to
conservatively retain all unconditionally in the compiler.

When a comdat is used, the COFF/ELF linkers' GC semantics ensure the
associated parallel array elements are retained or discarded together,
so `llvm.compiler.used` is sufficient.

Otherwise (MachO (see rL311955/rL311959), COFF special case where comdat is not
used), we have to use `llvm.used` to conservatively make all sections retain by
the linker. This will fix the Windows problem once internal linkage
GlobalObject's in `llvm.used` are retained via `/INCLUDE:`.

Reviewed By: morehouse, vitalybuka

Differential Revision: https://reviews.llvm.org/D97432
2021-02-26 11:10:03 -08:00
..
abort-in-entry-block.ll
backedge-pruning.ll
chains.ll
cmp-tracing-api-x86_32.ll [SanitizerCoverage] Use zeroext for cmp parameters on all targets 2020-08-12 18:38:12 +02:00
cmp-tracing-api-x86_64.ll
cmp-tracing.ll
coff-comdat.ll
coff-pc-table-inline-8bit-counters.ll
coff-pc-table-inline-bool-flag.ll
coff-used-ctor.ll
const-cmp-tracing.ll
coverage2-dbg.ll
coverage-dbg.ll
coverage.ll
div-tracing.ll
gep-tracing.ll
inline-8bit-counters.ll [SanitizerCoverage] Fix types of __stop* and __start* symbols 2020-08-04 21:53:27 +02:00
inline-bool-flag.ll [SanitizerCoverage] Drop !associated on metadata sections 2021-02-25 11:59:23 -08:00
interposable-symbol.ll [SanitizerCoverage] Drop !associated on metadata sections 2021-02-25 11:59:23 -08:00
no-func.ll
pc-table.ll
postdominator_check.ll
seh.ll
stack-depth-variable-declared-by-user.ll
stack-depth.ll
switch-tracing.ll
trace-pc-guard-inline-8bit-counters.ll
trace-pc-guard-inline-bool-flag.ll
trace-pc-guard.ll [SanitizerCoverage] Clarify llvm.used/llvm.compiler.used and partially fix unmatched metadata sections on Windows 2021-02-26 11:10:03 -08:00
tracing-comdat.ll
tracing.ll [SanitizerCoverage] Fix types of __stop* and __start* symbols 2020-08-04 21:53:27 +02:00
unreachable-critedge.ll
wineh.ll