Classes | |
struct | StreamCacheData |
Functions | |
bool | hasOutlinedHashTree () |
bool | hasStableFunctionMap () |
constOutlinedHashTree * | getOutlinedHashTree () |
constStableFunctionMap * | getStableFunctionMap () |
bool | emitCGData () |
void | publishOutlinedHashTree (std::unique_ptr<OutlinedHashTree > HashTree) |
void | publishStableFunctionMap (std::unique_ptr<StableFunctionMap > FunctionMap) |
void | saveModuleForTwoRounds (constModule &TheModule,unsigned Task,AddStreamFn AddStream) |
SaveTheModule 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 objectsObjectFiles from the first codegen round. | |
void | warn (ErrorE,StringRef Whence="") |
void | warn (Twine Message, std::string Whence="", std::string Hint="") |
| inline |
Definition at line187 of fileCodeGenData.h.
Referencesllvm::CodeGenData::emitCGData(), andllvm::CodeGenData::getInstance().
Referenced byllvm::GlobalMergeFunc::initializeMergerMode().
| inline |
Definition at line179 of fileCodeGenData.h.
Referencesllvm::CodeGenData::getInstance(), andllvm::CodeGenData::getOutlinedHashTree().
Referenced bygetMatchedEntries().
| inline |
Definition at line183 of fileCodeGenData.h.
Referencesllvm::CodeGenData::getInstance(), andllvm::CodeGenData::getStableFunctionMap().
Referenced byllvm::GlobalMergeFunc::run().
| inline |
Definition at line171 of fileCodeGenData.h.
Referencesllvm::CodeGenData::getInstance(), andllvm::CodeGenData::hasOutlinedHashTree().
Referenced bygetMatchedEntries().
| inline |
Definition at line175 of fileCodeGenData.h.
Referencesllvm::CodeGenData::getInstance(), andllvm::CodeGenData::hasStableFunctionMap().
Referenced byllvm::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 line238 of fileCodeGenData.cpp.
Referencesllvm::dbgs(),llvm::MemoryBuffer::getMemBuffer(),llvm::BitcodeModule::getModuleIdentifier(),LLVM_DEBUG,llvm::parseBitcodeFile(), andllvm::report_fatal_error().
Expected<stable_hash > llvm::cgdata::mergeCodeGenData | ( | ArrayRef<StringRef > | ObjectFiles | ) |
Merge the codegen data from the scratch objectsObjectFiles
from the first codegen round.
Definition at line257 of fileCodeGenData.cpp.
Referencesllvm::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(), andllvm::Expected< T >::takeError().
| inline |
Definition at line190 of fileCodeGenData.h.
Referencesllvm::CodeGenData::getInstance(), andllvm::CodeGenData::publishOutlinedHashTree().
Referenced bymergeCodeGenData().
| inline |
Definition at line195 of fileCodeGenData.h.
Referencesllvm::CodeGenData::getInstance(), andllvm::CodeGenData::publishStableFunctionMap().
Referenced bymergeCodeGenData().
void llvm::cgdata::saveModuleForTwoRounds | ( | constModule & | TheModule, |
unsigned | Task, | ||
AddStreamFn | AddStream | ||
) |
SaveTheModule
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 line224 of fileCodeGenData.cpp.
Referencesllvm::dbgs(),llvm::Module::getModuleIdentifier(),LLVM_DEBUG,llvm::report_fatal_error(),llvm::Expected< T >::takeError(), andllvm::WriteBitcodeToFile().
Referenced byllvm::lto::thinBackend().
Definition at line216 of fileCodeGenData.cpp.
Referencesllvm::handleAllErrors(),llvm::Error::isA(),llvm::CGDataError::message(),llvm::StringRef::str(), andwarn().
Referenced byllvm::CodeGenData::getInstance(), andwarn().
void llvm::cgdata::warn | ( | Twine | Message, |
std::string | Whence ="" , | ||
std::string | Hint ="" | ||
) |
Definition at line207 of fileCodeGenData.cpp.
Referencesllvm::errs(),llvm::WithColor::note(), andllvm::WithColor::warning().