|
uint64_t | llvm::wholeprogramdevirt::findLowestOffset (ArrayRef< VirtualCallTarget > Targets, bool IsAfter, uint64_t Size) |
|
void | llvm::wholeprogramdevirt::setBeforeReturnValues (MutableArrayRef< VirtualCallTarget > Targets, uint64_t AllocBefore, unsigned BitWidth, int64_t &OffsetByte, uint64_t &OffsetBit) |
|
void | llvm::wholeprogramdevirt::setAfterReturnValues (MutableArrayRef< VirtualCallTarget > Targets, uint64_t AllocAfter, unsigned BitWidth, int64_t &OffsetByte, uint64_t &OffsetBit) |
|
bool | llvm::hasWholeProgramVisibility (bool WholeProgramVisibilityEnabledInLTO) |
|
void | llvm::updatePublicTypeTestCalls (Module &M, bool WholeProgramVisibilityEnabledInLTO) |
|
void | llvm::updateVCallVisibilityInModule (Module &M, bool WholeProgramVisibilityEnabledInLTO, const DenseSet< GlobalValue::GUID > &DynamicExportSymbols, bool ValidateAllVtablesHaveTypeInfos, function_ref< bool(StringRef)> IsVisibleToRegularObj) |
| If whole program visibility asserted, then upgrade all public vcall visibility metadata on vtable definitions to linkage unit visibility in Module IR (for regular or hybrid LTO).
|
|
void | llvm::updateVCallVisibilityInIndex (ModuleSummaryIndex &Index, bool WholeProgramVisibilityEnabledInLTO, const DenseSet< GlobalValue::GUID > &DynamicExportSymbols, const DenseSet< GlobalValue::GUID > &VisibleToRegularObjSymbols) |
| If whole program visibility asserted, then upgrade all public vcall visibility metadata on vtable definition summaries to linkage unit visibility in Module summary index (for ThinLTO).
|
|
void | llvm::getVisibleToRegularObjVtableGUIDs (ModuleSummaryIndex &Index, DenseSet< GlobalValue::GUID > &VisibleToRegularObjSymbols, function_ref< bool(StringRef)> IsVisibleToRegularObj) |
| Based on typeID string, get all associated vtable GUIDS that are visible to regular objects.
|
|
void | llvm::runWholeProgramDevirtOnIndex (ModuleSummaryIndex &Summary, std::set< GlobalValue::GUID > &ExportedGUIDs, std::map< ValueInfo, std::vector< VTableSlotSummary > > &LocalWPDTargetsMap) |
| Perform index-based whole program devirtualization on the Summary index.
|
|
void | llvm::updateIndexWPDForExports (ModuleSummaryIndex &Summary, function_ref< bool(StringRef, ValueInfo)> isExported, std::map< ValueInfo, std::vector< VTableSlotSummary > > &LocalWPDTargetsMap) |
| Call after cross-module importing to update the recorded single impl devirt target names for any locals that were exported.
|
|