ΒΆvoid thinLTOResolvePrevailingInIndex(
llvm::ModuleSummaryIndex& Index,
function_ref<
bool(GlobalValue::GUID,
const llvm::GlobalValueSummary*)>
isPrevailing,
function_ref<void(llvm::StringRef,
GlobalValue::GUID,
GlobalValue::LinkageTypes)>
recordNewLinkage,
const DenseSet<GlobalValue::GUID>&
GUIDPreservedSymbols)
void thinLTOResolvePrevailingInIndex(
llvm::ModuleSummaryIndex& Index,
function_ref<
bool(GlobalValue::GUID,
const llvm::GlobalValueSummary*)>
isPrevailing,
function_ref<void(llvm::StringRef,
GlobalValue::GUID,
GlobalValue::LinkageTypes)>
recordNewLinkage,
const DenseSet<GlobalValue::GUID>&
GUIDPreservedSymbols)
Description
Resolve linkage for prevailing symbols in the \p Index. Linkage changes recorded in the index and the ThinLTO backends must apply the changes to the module via thinLTOResolvePrevailingInModule. This is done for correctness (if value exported, ensure we always emit a copy), and compile-time optimization (allow drop of duplicates).
Declared at: llvm/include/llvm/LTO/LTO.h:49
Parameters
- llvm::ModuleSummaryIndex& Index
- function_ref<bool( GlobalValue::GUID, const llvm::GlobalValueSummary*)> isPrevailing
- function_ref<void(llvm::StringRef, GlobalValue::GUID, GlobalValue::LinkageTypes)> recordNewLinkage
- const DenseSet<GlobalValue::GUID>& GUIDPreservedSymbols