llvm-project/compiler-rt/test
Reid Kleckner 987d331fab [InstrProf] Implement static profdata registration
Summary:
The motivating use case is eliminating duplicate profile data registered
for the same inline function in two object files. Before this change,
users would observe multiple symbol definition errors with VC link, but
links with LLD would succeed.

Users (Mozilla) have reported that PGO works well with clang-cl and LLD,
but when using LLD without this static registration, we would get into a
"relocation against a discarded section" situation. I'm not sure what
happens in that situation, but I suspect that duplicate, unused profile
information was retained. If so, this change will reduce the size of
such binaries with LLD.

Now, Windows uses static registration and is in line with all the other
platforms.

Reviewers: davidxl, wmi, inglorion, void, calixte

Subscribers: mgorny, krytarowski, eraman, fedor.sergeev, hiraditya, #sanitizers, dmajor, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D57929

llvm-svn: 353547
2019-02-08 19:03:50 +00:00
..
BlocksRuntime Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
asan Explicitly set C++ standard for `Posix/no-fd.cc` ASan test. 2019-01-15 08:54:10 +00:00
builtins Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
cfi compiler-rt tests: Unbreak cmake with LLVM_ENABLE_PIC=OFF on mac 2019-01-16 20:36:27 +00:00
dfsan Add weak definitions of trace-cmp hooks to dfsan 2018-06-01 21:59:25 +00:00
esan [Esan] Port cache frag to FreeBSD 2018-10-04 20:58:18 +00:00
fuzzer [libFuzzer] refactor the way we choose the element to cross-over with, NFC (expected1); add a flag -seed_inputs= to pass extra seed inputs as file paths, not dirs 2019-02-08 01:20:54 +00:00
hwasan [sanitizer] Decorate /proc/self/maps better. 2019-02-06 01:14:50 +00:00
interception Revert "[interception] Check for export table's size before referring to its elements." 2017-01-22 03:30:14 +00:00
lsan [test] Detect glibc-2.27+ and XFAIL appropriate tests 2019-01-09 13:27:29 +00:00
msan [test] Disable sunrpc tests when rpc/xdr.h is missing 2019-01-14 19:18:34 +00:00
profile [InstrProf] Implement static profdata registration 2019-02-08 19:03:50 +00:00
safestack compiler-rt tests: Unbreak cmake with LLVM_ENABLE_PIC=OFF on mac 2019-01-16 20:36:27 +00:00
sanitizer_common [sanitizer] Fix Android tests 2019-02-07 07:40:33 +00:00
scudo [scudo] Initial standalone skeleton check-in 2019-02-04 16:25:40 +00:00
shadowcallstack [scs] Disable negative test in shadowcallstack. 2018-06-29 15:16:45 +00:00
tsan tsan: Implement pthread_exit() interceptor for Thread sanitizer 2019-02-07 10:46:02 +00:00
ubsan [ubsan] Make suppressions.cpp test pass for me on Windows 2019-02-01 21:35:17 +00:00
ubsan_minimal [compiler-rt][UBSan] Sanitization for alignment assumptions. 2019-01-15 09:44:27 +00:00
xray Add header <atomic> which is needed to compile with some older library versions. 2018-11-21 08:54:40 +00:00
.clang-format [compiler-rt] Use "ColumnLimit: 0" instead of "clang-format off" in tests 2018-12-01 01:24:29 +00:00
CMakeLists.txt [CMake] Quick-Fix FileCheck target does not exist when building against LLVM install-tree with COMPILER_RT_INCLUDE_TESTS=ON 2019-01-28 16:14:57 +00:00
lit.common.cfg gn build: Upgrade to NDK r19. 2019-02-05 05:10:19 +00:00
lit.common.configured.in gn build: Upgrade to NDK r19. 2019-02-05 05:10:19 +00:00