LLVM 20.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) |
void | saveModuleForTwoRounds (const Module &TheModule, unsigned Task, AddStreamFn AddStream) |
Save TheModule before the first codegen round. | |
std::unique_ptr< Module > | loadModuleForTwoRounds (BitcodeModule &OrigModule, unsigned Task, LLVMContext &Context, ArrayRef< StringRef > IRFiles) |
Load the optimized bitcode module for the second codegen round. | |
Expected< stable_hash > | mergeCodeGenData (ArrayRef< StringRef > ObjectFiles) |
Merge the codegen data from the scratch objects ObjectFiles from the first codegen round. | |
void | warn (Error E, StringRef Whence="") |
void | warn (Twine Message, std::string Whence="", std::string Hint="") |
|
inline |
Definition at line 187 of file CodeGenData.h.
References llvm::CodeGenData::emitCGData(), and llvm::CodeGenData::getInstance().
Referenced by llvm::GlobalMergeFunc::initializeMergerMode().
|
inline |
Definition at line 179 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::getOutlinedHashTree().
Referenced by getMatchedEntries().
|
inline |
Definition at line 183 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::getStableFunctionMap().
Referenced by llvm::GlobalMergeFunc::run().
|
inline |
Definition at line 171 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::hasOutlinedHashTree().
Referenced by getMatchedEntries().
|
inline |
Definition at line 175 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 238 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 257 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 190 of file CodeGenData.h.
References llvm::CodeGenData::getInstance(), and llvm::CodeGenData::publishOutlinedHashTree().
Referenced by mergeCodeGenData().
|
inline |
Definition at line 195 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 224 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 216 of file CodeGenData.cpp.
References llvm::handleAllErrors(), llvm::Error::isA(), llvm::CGDataError::message(), llvm::StringRef::str(), and warn().
Referenced by llvm::CodeGenData::getInstance(), and warn().
void llvm::cgdata::warn | ( | Twine | Message, |
std::string | Whence = "" , |
||
std::string | Hint = "" |
||
) |
Definition at line 207 of file CodeGenData.cpp.
References llvm::errs(), llvm::WithColor::note(), and llvm::WithColor::warning().