LLVM 22.0.0git
llvm::FunctionImporter Class Reference

The function importer is automatically importing function from other modules based on the provided summary informations. More...

#include "llvm/Transforms/IPO/FunctionImport.h"

Classes

struct  ImportFailureInfo
 Information optionally tracked for candidates the importer decided not to import. More...
class  ImportIDTable
class  ImportListsTy
class  ImportMapTy
 The map maintains the list of imports. More...
class  SortedImportList

Public Types

enum class  ImportFailureReason {
  None , GlobalVar , NotLive , TooLarge ,
  InterposableLinkage , LocalLinkageNotInModule , NotEligible , NoInline
}
 The different reasons selectCallee will chose not to import a candidate. More...
using ImportThresholdsTy
 Map of callee GUID considered for import into a given module to a pair consisting of the largest threshold applied when deciding whether to import it and, if we decided to import, a pointer to the summary instance imported.
using ExportSetTy = DenseSet<ValueInfo>
 The set contains an entry for every global value that the module exports.
using ModuleLoaderTy
 A function of this type is used to load modules referenced by the index.

Public Member Functions

 FunctionImporter (const ModuleSummaryIndex &Index, ModuleLoaderTy ModuleLoader, bool ClearDSOLocalOnDeclarations)
 Create a Function Importer.
LLVM_ABI Expected< boolimportFunctions (Module &M, const ImportMapTy &ImportList)
 Import functions in Module M based on the supplied import list.

Detailed Description

The function importer is automatically importing function from other modules based on the provided summary informations.

Definition at line 31 of file FunctionImport.h.

Member Typedef Documentation

◆ ExportSetTy

The set contains an entry for every global value that the module exports.

Depending on the user context, this container is allowed to contain definitions, declarations or a mix of both.

Definition at line 305 of file FunctionImport.h.

◆ ImportThresholdsTy

Initial value:
std::tuple<unsigned, const GlobalValueSummary *,
std::unique_ptr<ImportFailureInfo>>>
Function and variable summary information to aid decisions and implementation of importing.
uint64_t GUID
Declare a type to represent a global unique identifier for a global value.

Map of callee GUID considered for import into a given module to a pair consisting of the largest threshold applied when deciding whether to import it and, if we decided to import, a pointer to the summary instance imported.

If we decided not to import, the summary will be nullptr.

Definition at line 84 of file FunctionImport.h.

◆ ModuleLoaderTy

Initial value:
std::function<Expected<std::unique_ptr<Module>>(StringRef Identifier)>
StringRef - Represent a constant reference to a string, i.e.
Definition StringRef.h:55

A function of this type is used to load modules referenced by the index.

Definition at line 308 of file FunctionImport.h.

Member Enumeration Documentation

◆ ImportFailureReason

The different reasons selectCallee will chose not to import a candidate.

Enumerator
None 
GlobalVar 
NotLive 
TooLarge 
InterposableLinkage 
LocalLinkageNotInModule 
NotEligible 
NoInline 

Definition at line 35 of file FunctionImport.h.

Constructor & Destructor Documentation

◆ FunctionImporter()

llvm::FunctionImporter::FunctionImporter ( const ModuleSummaryIndex & Index,
ModuleLoaderTy ModuleLoader,
bool ClearDSOLocalOnDeclarations )
inline

Create a Function Importer.

Definition at line 312 of file FunctionImport.h.

References llvm::move().

Member Function Documentation

◆ importFunctions()


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