LLVM 23.0.0git
llvm::CfiFunctionIndex Class Reference

Encapsulate the names of CFI target functions. More...

#include "llvm/IR/ModuleSummaryIndex.h"

Public Member Functions

 CfiFunctionIndex ()=default
 CfiFunctionIndex (const CfiFunctionIndex &)=delete
 CfiFunctionIndex (CfiFunctionIndex &&)=default
std::vector< std::pair< StringRef, GlobalValue::GUID > > getSortedSymbols () const
 API used for serialization, e.g. YAML.
auto getExportedThinLTOGUIDs () const
 get the set of GUIDs that should also be exported because they are the GUIDs of the cfi functions encapsulated here.
auto getNamesForGUID (GlobalValue::GUID GUID) const
 get the name(s) associated with a given ThinLTO GUID.
void addSymbolWithThinLTOGUID (StringRef Name, GlobalValue::GUID GUID)
 Add the function name and the GUID that ThinLTO uses for it.
bool contains (StringRef Name) const
bool empty () const

Detailed Description

Encapsulate the names of CFI target functions.

It interfaces with ThinLTO to determine efficiently which of the names need to be exported for a particular module.

Definition at line 1325 of file ModuleSummaryIndex.h.

Constructor & Destructor Documentation

◆ CfiFunctionIndex() [1/3]

llvm::CfiFunctionIndex::CfiFunctionIndex ( )
default

◆ CfiFunctionIndex() [2/3]

llvm::CfiFunctionIndex::CfiFunctionIndex ( const CfiFunctionIndex & )
delete

References CfiFunctionIndex().

◆ CfiFunctionIndex() [3/3]

llvm::CfiFunctionIndex::CfiFunctionIndex ( CfiFunctionIndex && )
default

References CfiFunctionIndex().

Member Function Documentation

◆ addSymbolWithThinLTOGUID()

void llvm::CfiFunctionIndex::addSymbolWithThinLTOGUID ( StringRef Name,
GlobalValue::GUID GUID )
inline

Add the function name and the GUID that ThinLTO uses for it.

Definition at line 1380 of file ModuleSummaryIndex.h.

References _.

Referenced by llvm::yaml::MappingTraits< ModuleSummaryIndex >::mapping().

◆ contains()

bool llvm::CfiFunctionIndex::contains ( StringRef Name) const
inline

Definition at line 1385 of file ModuleSummaryIndex.h.

◆ empty()

bool llvm::CfiFunctionIndex::empty ( ) const
inline

Definition at line 1389 of file ModuleSummaryIndex.h.

References assert().

◆ getExportedThinLTOGUIDs()

auto llvm::CfiFunctionIndex::getExportedThinLTOGUIDs ( ) const
inline

get the set of GUIDs that should also be exported because they are the GUIDs of the cfi functions encapsulated here.

Definition at line 1365 of file ModuleSummaryIndex.h.

References I, and llvm::map_range().

◆ getNamesForGUID()

auto llvm::CfiFunctionIndex::getNamesForGUID ( GlobalValue::GUID GUID) const
inline

get the name(s) associated with a given ThinLTO GUID.

This enables efficient identification of the subset of names that should be included in a module summary.

Definition at line 1372 of file ModuleSummaryIndex.h.

References I, and llvm::make_range().

◆ getSortedSymbols()

std::vector< std::pair< StringRef, GlobalValue::GUID > > llvm::CfiFunctionIndex::getSortedSymbols ( ) const
inline

API used for serialization, e.g. YAML.

Definition at line 1354 of file ModuleSummaryIndex.h.

References llvm::sort().

Referenced by llvm::yaml::MappingTraits< ModuleSummaryIndex >::mapping().


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