1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/ProfileData
Rong Xu 92b1fe0567 [PGO] Turn off comdat renaming in IR PGO by default
Summary:
In IR PGO we append the function hash to comdat functions to avoid the
potential hash mismatch. This turns out not legal in some cases: if the comdat
function is address-taken and used in comparison. Renaming changes the semantic.

This patch turns off comdat renaming by default.

To alleviate the hash mismatch issue, we now rename the profile variable
for comdat functions. Profile allows co-existing multiple versions of profiles
with different hash value. The inlined copy will always has the correct profile
counter. The out-of-line copy might not have the correct count. But we will
not have the bogus mismatch warning.

Reviewers: davidxl

Subscribers: llvm-commits, xur

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

llvm-svn: 291588
2017-01-10 19:30:20 +00:00
..
Coverage Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
CMakeLists.txt Move ProfileSummary to IR. 2016-05-19 21:07:12 +00:00
InstrProf.cpp [PGO] Turn off comdat renaming in IR PGO by default 2017-01-10 19:30:20 +00:00
InstrProfReader.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 15:02:18 +00:00
InstrProfWriter.cpp Use range algorithms instead of unpacking begin/end 2016-08-11 21:15:00 +00:00
LLVMBuild.txt Move coverage related code into a separate library. 2016-04-29 18:53:05 +00:00
ProfileSummaryBuilder.cpp NFC Add const 2016-09-30 21:05:55 +00:00
SampleProf.cpp Remove LLVM_NOEXCEPT and replace it with noexcept 2016-10-19 23:52:38 +00:00
SampleProfReader.cpp [ProfileData] Clean up string handling a bit. 2016-05-29 10:31:00 +00:00
SampleProfWriter.cpp [ProfileData] Thread unique_ptr through the summary builder to avoid leaks. 2016-05-20 09:18:37 +00:00