Update recorded single‐impl WPD target names after cross‐module importing.

Synopsis

Declared in <llvm/Transforms/IPO/WholeProgramDevirt.h>

void
updateIndexWPDForExports(
    ModuleSummaryIndex& Summary,
    function_ref<bool(xref:llvm/StringRef.adoc[StringRef, ValueInfo)>] isExported,
    std::map<ValueInfo, std::vector<VTableSlotSummary>>& LocalWPDTargetsMap,
    DenseSet<StringRef>* ExternallyVisibleSymbolNamesPtr = nullptr);

Description

Call after cross‐module importing to update the recorded single‐impl devirtualization target names for any locals that were exported.

Parameters

Name

Description

Summary

Combined module summary index whose WPD resolutions are updated.

isExported

Predicate that returns true if a symbol with the given name and ValueInfo was exported.

LocalWPDTargetsMap

Map from local ValueInfo entries to the vtable slots whose recorded target names may need updating.

ExternallyVisibleSymbolNamesPtr

Optional set of symbol names that remain externally visible; may be null.

Created with MrDocs