ΒΆvoid thinLTOResolvePrevailingInIndex(
const lto::Config& C,
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(
const lto::Config& C,
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 thinLTOFinalizeInModule. 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:46
Parameters
- const lto::Config& C
- 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