LLVM 22.0.0git
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 void setup (unsigned ThinLTONumTasks, unsigned ThinLTOTaskOffset, Triple Triple)
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
virtual Error wait ()
unsigned getThreadCount ()
virtual bool isSensitiveToInputOrder ()
LLVM_ABI Error emitFiles (const FunctionImporter::ImportMapTy &ImportList, StringRef ModulePath, const std::string &NewModulePath) const
LLVM_ABI Error emitFiles (const FunctionImporter::ImportMapTy &ImportList, StringRef ModulePath, const std::string &NewModulePath, StringRef SummaryPath, std::optional< std::reference_wrapper< ImportsFilesContainer > > ImportsFiles) 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 209 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

◆ ~ThinBackendProc()

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

Member Function Documentation

◆ emitFiles() [1/2]

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

Definition at line 1441 of file LTO.cpp.

References emitFiles().

Referenced by emitFiles().

◆ emitFiles() [2/2]

Error ThinBackendProc::emitFiles ( const FunctionImporter::ImportMapTy & ImportList,
llvm::StringRef ModulePath,
const std::string & NewModulePath,
StringRef SummaryPath,
std::optional< std::reference_wrapper< ImportsFilesContainer > > ImportsFiles ) const

◆ getThreadCount()

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

Definition at line 246 of file LTO.h.

References BackendThreadPool.

◆ isSensitiveToInputOrder()

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

Definition at line 247 of file LTO.h.

◆ setup()

virtual void llvm::lto::ThinBackendProc::setup ( unsigned ThinLTONumTasks,
unsigned ThinLTOTaskOffset,
Triple Triple )
inlinevirtual

Definition at line 232 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()

virtual Error llvm::lto::ThinBackendProc::wait ( )
inlinevirtual

Definition at line 240 of file LTO.h.

References BackendThreadPool, Err, and llvm::Error::success().

Member Data Documentation

◆ BackendThreadPool

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

Definition at line 216 of file LTO.h.

Referenced by getThreadCount(), ThinBackendProc(), and wait().

◆ CombinedIndex

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

Definition at line 212 of file LTO.h.

Referenced by emitFiles(), and ThinBackendProc().

◆ Conf

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

Definition at line 211 of file LTO.h.

Referenced by ThinBackendProc().

◆ Err

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

Definition at line 217 of file LTO.h.

Referenced by wait().

◆ ErrMu

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

Definition at line 218 of file LTO.h.

◆ ModuleToDefinedGVSummaries

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

Definition at line 213 of file LTO.h.

Referenced by emitFiles(), and ThinBackendProc().

◆ OnWrite

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

Definition at line 214 of file LTO.h.

Referenced by ThinBackendProc().

◆ ShouldEmitImportsFiles

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

Definition at line 215 of file LTO.h.

Referenced by emitFiles(), and ThinBackendProc().


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