llvm-project/compiler-rt/lib/profile
Min-Yih Hsu 0f6220ddd6 [profile] Move __llvm_profile_raw_version into a separate file
Similar to the reason behind moving __llvm_profile_filename into a
separate file[1]. When users try to use Full LTO with BFD linker to
generate IR level PGO profile, the __llvm_profile_raw_version variable,
which is used for marking instrumentation level, generated by frontend
would somehow conflict with the weak symbol provided by profiling
runtime.

In most of the cases, BFD linkers will pick profiling runtime's weak symbol
as the real definition and thus generate the incorrect instrumentation
level metadata in the final executables.

Moving __llvm_profile_raw_version into a separate file would make
linkers not seeing the weak symbol in the archive unless the frontend
doesn't generate one.

[1] https://reviews.llvm.org/D34797

Differential Revision: https://reviews.llvm.org/D83967
2020-07-16 16:02:04 -07:00
..
CMakeLists.txt [profile] Move __llvm_profile_raw_version into a separate file 2020-07-16 16:02:04 -07:00
GCDAProfiling.c [gcov] Move llvm_writeout_files from atexit to a static destructor 2020-07-01 16:41:55 -07:00
InstrProfiling.c [profile] Move __llvm_profile_raw_version into a separate file 2020-07-16 16:02:04 -07:00
InstrProfiling.h [profile] Make atexit hook a no-op on Fuchsia 2020-03-24 18:47:38 -07:00
InstrProfilingBiasVar.c [profile] Support counter relocation at runtime 2020-01-17 15:02:23 -08:00
InstrProfilingBuffer.c [profile] Make atexit hook a no-op on Fuchsia 2020-03-24 18:47:38 -07:00
InstrProfilingFile.c [profile] Move RuntimeCounterRelocation and ProfileDumped into a separate file 2020-03-24 20:27:14 -07:00
InstrProfilingInternal.c [profile] Move RuntimeCounterRelocation and ProfileDumped into a separate file 2020-03-24 20:27:14 -07:00
InstrProfilingInternal.h [profile] Move RuntimeCounterRelocation and ProfileDumped into a separate file 2020-03-24 20:27:14 -07:00
InstrProfilingMerge.c Reland "[CMake] Support installation of InstrProfData.inc" 2019-11-22 14:09:46 -08:00
InstrProfilingMergeFile.c Reland "[CMake] Support installation of InstrProfData.inc" 2019-11-22 14:09:46 -08:00
InstrProfilingNameVar.c Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstrProfilingPlatformDarwin.c Reland compiler-rt support for order file instrumentation. 2019-03-08 15:30:56 +00:00
InstrProfilingPlatformFuchsia.c [profile] Avoid duplicating or leaking VMO 2020-04-17 00:54:12 -07:00
InstrProfilingPlatformLinux.c Revert "[InstrProfiling] Use !associated metadata for counters, data and values" 2020-06-10 02:32:50 -07:00
InstrProfilingPlatformOther.c Reland compiler-rt support for order file instrumentation. 2019-03-08 15:30:56 +00:00
InstrProfilingPlatformWindows.c Reland compiler-rt support for order file instrumentation. 2019-03-08 15:30:56 +00:00
InstrProfilingPort.h [profile] Support online merging with continuous sync mode 2019-11-18 12:56:58 -08:00
InstrProfilingRuntime.cpp [profile] Make atexit hook a no-op on Fuchsia 2020-03-24 18:47:38 -07:00
InstrProfilingUtil.c [profile] Fix file contention causing dropped counts on Windows under -fprofile-generate 2019-11-27 15:55:13 +01:00
InstrProfilingUtil.h Fix PS4 build of compiler-rt runtime. 2020-05-14 02:11:16 +00:00
InstrProfilingValue.c [PGO] Extend the value profile buckets for mem op sizes. 2020-07-15 10:26:15 -07:00
InstrProfilingVersionVar.c [profile] Move __llvm_profile_raw_version into a separate file 2020-07-16 16:02:04 -07:00
InstrProfilingWriter.c [profile] Avoid allocating a page on the stack, NFC 2019-12-11 10:04:00 -08:00
WindowsMMap.c [GCOV] Close file mapping handle on Windows, so flushed gcda files can be removed while the process is in execution 2018-11-07 09:38:26 +00:00
WindowsMMap.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00