LLVM 24.0.0git
WorkloadImportsManager Class Reference

A ModuleImportsManager that operates based on a workload definition (see -thinlto-workload-def). More...

Inheritance diagram for WorkloadImportsManager:
[legend]

Public Member Functions

 WorkloadImportsManager (function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> IsPrevailing, const ModuleSummaryIndex &Index, DenseMap< StringRef, FunctionImporter::ExportSetTy > *ExportLists)
Public Member Functions inherited from ModuleImportsManager
virtual ~ModuleImportsManager ()=default
DenseMap< StringRef, FunctionImporter::ExportSetTy > & requiredDeclExports ()
 Values that must be exported from their defining modules because declarations of them are required in importing modules.

Additional Inherited Members

Static Public Member Functions inherited from ModuleImportsManager
static std::unique_ptr< ModuleImportsManager > create (function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> IsPrevailing, const ModuleSummaryIndex &Index, DenseMap< StringRef, FunctionImporter::ExportSetTy > *ExportLists=nullptr)
Protected Member Functions inherited from ModuleImportsManager
 ModuleImportsManager (function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> IsPrevailing, const ModuleSummaryIndex &Index, DenseMap< StringRef, FunctionImporter::ExportSetTy > *ExportLists=nullptr)
void importRequiredDeclaration (ValueInfo VI, StringRef CallerModulePath, FunctionImporter::ImportMapTy &ImportList)
 Import a declaration of the callee VI of a call edge requiring a declaration import (see RequiresDeclImport in computeImportForFunction), from a function in CallerModulePath that is defined in or being imported into the current module, and isn't already defined in the current module.
void addRequiredDeclaration (ValueInfo VI, const GlobalValueSummary *DeclSummary, FunctionImporter::ImportMapTy &ImportList)
 Import a declaration of the callee VI from the module containing DeclSummary, which must be a candidate that is legal to import (i.e.
Protected Attributes inherited from ModuleImportsManager
function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> IsPrevailing
const ModuleSummaryIndex & Index
DenseMap< StringRef, FunctionImporter::ExportSetTy > *const ExportLists
DenseMap< StringRef, FunctionImporter::ExportSetTy > RequiredDeclExports

Detailed Description

A ModuleImportsManager that operates based on a workload definition (see -thinlto-workload-def).

For modules that do not define workload roots, it applies the base ModuleImportsManager import policy.

Definition at line 607 of file FunctionImport.cpp.

Constructor & Destructor Documentation

◆ WorkloadImportsManager()


The documentation for this class was generated from the following file: