LLVM 20.0.0git
Public Member Functions | Protected Attributes | List of all members
llvm::lto::ThinBackendProc Class Referenceabstract

This class defines the interface to the ThinLTO backend. More...

#include "llvm/LTO/LTO.h"

Public Member Functions

 ThinBackendProc (const Config &Conf, ModuleSummaryIndex &CombinedIndex, const DenseMap< StringRef, GVSummaryMapTy > &ModuleToDefinedGVSummaries, lto::IndexWriteCallback OnWrite, bool ShouldEmitImportsFiles, ThreadPoolStrategy ThinLTOParallelism)
 
virtual ~ThinBackendProc ()=default
 
virtual Error start (unsigned Task, BitcodeModule BM, const FunctionImporter::ImportMapTy &ImportList, const FunctionImporter::ExportSetTy &ExportList, const std::map< GlobalValue::GUID, GlobalValue::LinkageTypes > &ResolvedODR, MapVector< StringRef, BitcodeModule > &ModuleMap)=0
 
Error wait ()
 
unsigned getThreadCount ()
 
virtual bool isSensitiveToInputOrder ()
 
Error emitFiles (const FunctionImporter::ImportMapTy &ImportList, llvm::StringRef ModulePath, const std::string &NewModulePath) const
 

Protected Attributes

const ConfigConf
 
ModuleSummaryIndexCombinedIndex
 
const DenseMap< StringRef, GVSummaryMapTy > & ModuleToDefinedGVSummaries
 
IndexWriteCallback OnWrite
 
bool ShouldEmitImportsFiles
 
DefaultThreadPool BackendThreadPool
 
std::optional< ErrorErr
 
std::mutex ErrMu
 

Detailed Description

This class defines the interface to the ThinLTO backend.

Definition at line 203 of file LTO.h.

Constructor & Destructor Documentation

◆ ThinBackendProc()

llvm::lto::ThinBackendProc::ThinBackendProc ( const Config Conf,
ModuleSummaryIndex CombinedIndex,
const DenseMap< StringRef, GVSummaryMapTy > &  ModuleToDefinedGVSummaries,
lto::IndexWriteCallback  OnWrite,
bool  ShouldEmitImportsFiles,
ThreadPoolStrategy  ThinLTOParallelism 
)
inline

Definition at line 215 of file LTO.h.

◆ ~ThinBackendProc()

virtual llvm::lto::ThinBackendProc::~ThinBackendProc ( )
virtualdefault

Member Function Documentation

◆ emitFiles()

Error ThinBackendProc::emitFiles ( const FunctionImporter::ImportMapTy ImportList,
llvm::StringRef  ModulePath,
const std::string &  NewModulePath 
) const

◆ getThreadCount()

unsigned llvm::lto::ThinBackendProc::getThreadCount ( )
inline

Definition at line 238 of file LTO.h.

References BackendThreadPool, and llvm::SingleThreadExecutor::getMaxConcurrency().

◆ isSensitiveToInputOrder()

virtual bool llvm::lto::ThinBackendProc::isSensitiveToInputOrder ( )
inlinevirtual

Definition at line 239 of file LTO.h.

◆ start()

virtual Error llvm::lto::ThinBackendProc::start ( unsigned  Task,
BitcodeModule  BM,
const FunctionImporter::ImportMapTy ImportList,
const FunctionImporter::ExportSetTy ExportList,
const std::map< GlobalValue::GUID, GlobalValue::LinkageTypes > &  ResolvedODR,
MapVector< StringRef, BitcodeModule > &  ModuleMap 
)
pure virtual

◆ wait()

Error llvm::lto::ThinBackendProc::wait ( )
inline

Member Data Documentation

◆ BackendThreadPool

DefaultThreadPool llvm::lto::ThinBackendProc::BackendThreadPool
protected

Definition at line 210 of file LTO.h.

Referenced by getThreadCount(), and wait().

◆ CombinedIndex

ModuleSummaryIndex& llvm::lto::ThinBackendProc::CombinedIndex
protected

Definition at line 206 of file LTO.h.

Referenced by emitFiles().

◆ Conf

const Config& llvm::lto::ThinBackendProc::Conf
protected

Definition at line 205 of file LTO.h.

◆ Err

std::optional<Error> llvm::lto::ThinBackendProc::Err
protected

Definition at line 211 of file LTO.h.

Referenced by wait().

◆ ErrMu

std::mutex llvm::lto::ThinBackendProc::ErrMu
protected

Definition at line 212 of file LTO.h.

◆ ModuleToDefinedGVSummaries

const DenseMap<StringRef, GVSummaryMapTy>& llvm::lto::ThinBackendProc::ModuleToDefinedGVSummaries
protected

Definition at line 207 of file LTO.h.

Referenced by emitFiles().

◆ OnWrite

IndexWriteCallback llvm::lto::ThinBackendProc::OnWrite
protected

Definition at line 208 of file LTO.h.

◆ ShouldEmitImportsFiles

bool llvm::lto::ThinBackendProc::ShouldEmitImportsFiles
protected

Definition at line 209 of file LTO.h.

Referenced by emitFiles().


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