forked from OSchip/llvm-project
ef1adad938
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 |
||
---|---|---|
.. | ||
AddressSanitizer.cpp | ||
BoundsChecking.cpp | ||
CFGMST.h | ||
CMakeLists.txt | ||
DataFlowSanitizer.cpp | ||
EfficiencySanitizer.cpp | ||
GCOVProfiling.cpp | ||
IndirectCallPromotion.cpp | ||
InstrProfiling.cpp | ||
Instrumentation.cpp | ||
LLVMBuild.txt | ||
MaximumSpanningTree.h | ||
MemorySanitizer.cpp | ||
PGOInstrumentation.cpp | ||
SanitizerCoverage.cpp | ||
ThreadSanitizer.cpp |