Computes a unique hash for the Module considering the current list of export/import and other global analysis results.
Synopsis
Declared in <llvm/LTO/LTO.h>
std::string
computeLTOCacheKey(
lto::Config const& Conf,
ModuleSummaryIndex const& Index,
StringRef ModuleID,
FunctionImporter::ImportMapTy const& ImportList,
FunctionImporter::ExportSetTy const& ExportList,
std::map<GlobalValue::GUID, GlobalValue::LinkageTypes> const& ResolvedODR,
GVSummaryMapTy const& DefinedGlobals,
DenseSet<GlobalValue::GUID> const& CfiFunctionDefs = {},
DenseSet<GlobalValue::GUID> const& CfiFunctionDecls = {});
Parameters
Name |
Description |
Conf |
LTO configuration. A linker can configure LTO by setting fields in this data structure and passing it to the lto::LTO constructor. |
Index |
Class to hold module path string table and global value map, and encapsulate methods for operating on them. |
ModuleID |
Represent a constant reference to a string, i.e. a character array and a length, which need not be null terminated. |
ImportList |
The map maintains the list of imports. Conceptually, it is a collection of tuples of the form: |
ExportList |
The set contains an entry for every global value that the module exports. Depending on the user context, this container is allowed to contain definitions, declarations or a mix of both. |
ResolvedODR |
A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time. |
DefinedGlobals |
Map of global value GUID to its summary, used to identify values defined in a particular module, and provide efficient access to their summary. |
CfiFunctionDefs |
Implements a dense probed hash‐table based set. |
CfiFunctionDecls |
Implements a dense probed hash‐table based set. |
Created with MrDocs