LLVM 22.0.0git
|
Classes | |
struct | StreamCacheData |
Functions | |
bool | hasOutlinedHashTree () |
bool | hasStableFunctionMap () |
const OutlinedHashTree * | getOutlinedHashTree () |
const StableFunctionMap * | getStableFunctionMap () |
bool | emitCGData () |
void | publishOutlinedHashTree (std::unique_ptr< OutlinedHashTree > HashTree) |
void | publishStableFunctionMap (std::unique_ptr< StableFunctionMap > FunctionMap) |
LLVM_ABI void | saveModuleForTwoRounds (const Module &TheModule, unsigned Task, AddStreamFn AddStream) |
Save TheModule before the first codegen round. | |
LLVM_ABI std::unique_ptr< Module > | loadModuleForTwoRounds (BitcodeModule &OrigModule, unsigned Task, LLVMContext &Context, ArrayRef< StringRef > IRFiles) |
Load the optimized bitcode module for the second codegen round. | |
LLVM_ABI Expected< stable_hash > | mergeCodeGenData (ArrayRef< StringRef > ObjectFiles) |
Merge the codegen data from the scratch objects ObjectFiles from the first codegen round. | |
LLVM_ABI void | warn (Error E, StringRef Whence="") |
LLVM_ABI void | warn (Twine Message, StringRef Whence="", StringRef Hint="") |
|
inline |
Definition at line 188 of file CodeGenData.h.
References llvm::CodeGenData::emitCGData(), and llvm::CodeGenData::getInstance().
Referenced by llvm::GlobalMergeFunc::initializeMergerMode().
|
inline |
Definition at line 180 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::getOutlinedHashTree().
Referenced by getMatchedEntries().
|
inline |
Definition at line 184 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::getStableFunctionMap().
Referenced by llvm::GlobalMergeFunc::run().
|
inline |
Definition at line 172 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::hasOutlinedHashTree().
Referenced by getMatchedEntries().
|
inline |
Definition at line 176 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::hasStableFunctionMap().
Referenced by llvm::GlobalMergeFunc::initializeMergerMode().
std::unique_ptr< Module > llvm::cgdata::loadModuleForTwoRounds | ( | BitcodeModule & | OrigModule, |
unsigned | Task, | ||
LLVMContext & | Context, | ||
ArrayRef< StringRef > | IRFiles ) |
Load the optimized bitcode module for the second codegen round.
OrigModule
is the original bitcode module. Task
identifies the partition number in the parallel code generation process. Context
provides the environment settings for module operations. IRFiles
contains optimized bitcode module files needed for loading.
Definition at line 239 of file CodeGenData.cpp.
References llvm::dbgs(), llvm::MemoryBuffer::getMemBuffer(), llvm::BitcodeModule::getModuleIdentifier(), LLVM_DEBUG, llvm::parseBitcodeFile(), and llvm::report_fatal_error().
Expected< stable_hash > llvm::cgdata::mergeCodeGenData | ( | ArrayRef< StringRef > | ObjectFiles | ) |
Merge the codegen data from the scratch objects ObjectFiles
from the first codegen round.
Definition at line 258 of file CodeGenData.cpp.
References llvm::object::ObjectFile::createObjectFile(), llvm::OutlinedHashTreeRecord::empty(), llvm::StableFunctionMapRecord::empty(), llvm::StableFunctionMapRecord::finalize(), llvm::StableFunctionMapRecord::FunctionMap, llvm::Expected< T >::get(), llvm::MemoryBuffer::getMemBuffer(), llvm::OutlinedHashTreeRecord::HashTree, llvm::CodeGenDataReader::mergeFromObjectFile(), publishOutlinedHashTree(), publishStableFunctionMap(), and llvm::Expected< T >::takeError().
|
inline |
Definition at line 191 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::publishOutlinedHashTree().
Referenced by mergeCodeGenData().
|
inline |
Definition at line 196 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::publishStableFunctionMap().
Referenced by mergeCodeGenData().
void llvm::cgdata::saveModuleForTwoRounds | ( | const Module & | TheModule, |
unsigned | Task, | ||
AddStreamFn | AddStream ) |
Save TheModule
before the first codegen round.
Task
represents the partition number in the parallel code generation process. AddStream
is the callback used to add the serialized module to the stream.
Definition at line 222 of file CodeGenData.cpp.
References llvm::dbgs(), llvm::Module::getModuleIdentifier(), LLVM_DEBUG, llvm::report_fatal_error(), llvm::Expected< T >::takeError(), and llvm::WriteBitcodeToFile().
Referenced by llvm::lto::thinBackend().
Definition at line 214 of file CodeGenData.cpp.
References llvm::handleAllErrors(), llvm::CGDataError::message(), and warn().
Referenced by llvm::CodeGenData::getInstance(), and warn().
Definition at line 205 of file CodeGenData.cpp.
References llvm::StringRef::empty(), llvm::errs(), llvm::WithColor::note(), and llvm::WithColor::warning().