Class to hold module path string table and global value map, and encapsulate methods for operating on them.
Synopsis
Declared in <llvm/IR/ModuleSummaryIndex.h>
class ModuleSummaryIndex;
Type Aliases
Name |
Description |
Module path string table entry type (path mapped to module hash). |
Member Functions
Name |
Description |
|
Construct a module summary index. |
Add |
|
|
|
Add a new module with the given |
|
Return the index of |
|
Add an original name for the value of the given GUID. |
|
|
|
Calculate a dummy FunctionSummary that edges to all call‐graph roots. |
|
|
|
|
|
|
|
Collect for the given module the list of functions it defines (GUID ‐> Summary). |
|
Collect for each module the list of Summaries it defines (GUID ‐> Summary). |
|
Dump to stderr (for debugging). |
|
Print out strongly connected components for debugging. |
|
Return true if the index was created with ‐fsplit‐lto‐unit. |
|
|
|
Export summary to dot file for GraphViz. |
|
|
|
Return the total basic‐block count recorded in this index. |
|
Return the combined bitcode flags for this index. |
|
Return the GUID for |
|
|
|
Return module entry for module with the given |
|
Get the module SHA1 hash recorded for the given module path. |
|
Return an existing or new TypeIdCompatibleVtableMap entry for |
|
Return an existing or new TypeIdSummary entry for |
|
|
|
Return the full stack id stored at |
|
For the given |
|
|
|
|
|
Check if the given Module has any functions available for exporting. |
|
Return true if any FunctionSummary in the index has ParamAccess data. |
|
Return true if the index was created with ‐funified‐lto. |
|
Return true if this index stores GlobalValue pointers in summaries. |
|
Return true if any summary for |
|
Return true if |
|
Return true if |
|
Return true if |
|
|
|
Return true if some modules were split LTO units and some were not. |
|
Print to an output stream. |
|
Do the access attribute and DSOLocal propagation in combined index. |
|
Release memory used only while constructing the index. |
|
Save a string in the Index for use as a value name. |
|
Set the total basic‐block count to |
|
Mark that the index was created with ‐fsplit‐lto‐unit. |
|
Set the combined bitcode flags for this index. |
|
Mark that the combined index mixes split and non‐split LTO units. |
|
Mark that the distributed backend should skip compiling this module. |
|
Mark that the index was created with ‐funified‐lto. |
|
Mark that summary‐based attribute propagation has run. |
|
Mark that summary‐based DSOLocal propagation has run. |
|
Mark that summary‐based GlobalValue dead stripping has run. |
|
Mark that summary‐based internalization and promotion has run. |
|
Mark that linking used an allocator that supports hot/cold new. |
|
Mark that whole‐program visibility is available. |
|
Return the number of GUID entries in the global value summary map. |
|
Return true if the distributed backend should skip this module. |
|
Return an owning range over global value summaries sorted by GUID. |
|
Return the list of unique stack ids recorded in this index. |
|
Return the map from type identifiers to compatible vtable summaries. |
|
Return the map from type identifier GUIDs to type id summaries. |
|
Return true if summary‐based attribute propagation has run. |
|
Return true if summary‐based DSOLocal propagation has run. |
|
Return true if summary‐based GlobalValue dead stripping has run. |
|
Return true if summary‐based internalization and promotion has run. |
|
Return true if linking used an allocator that supports hot/cold new. |
|
Return true if whole‐program visibility is available. |
Static Member Functions
Name |
Description |
Convenience function for doing a DFS on a ValueInfo. Marks the function in the FunctionHasParent map. |
|
|
|
Return the unpromoted name for a global value, if it was promoted. |
|
Return the conventional module name used for Regular LTO in ASM output. |
Static Data Members
Name |
Description |
Current version for the module summary in bitcode files. |
Friends
Name |
Description |
This class should be specialized by any type that needs to be converted to/from a YAML mapping. For example: |
|
YAMLIO mapping traits for |
Non-Member Functions
Name |
Description |
Compute all the imports and exports for every module in the Index. |
|
Direct function to compute a |
|
Compute dead symbols in the summary index and update SamplePGO edges. |
|
Compute dead symbols and run constant propagation in combined index after that. |
|
Create a legacy immutable pass that wraps a provided ModuleSummaryIndex. |
|
Generate parameter access summary information in |
|
Collect GUIDs of vtables visible to regular object files. |
|
Parse LLVM Assembly for summary index from a MemoryBuffer. |
|
Parse a module summary index from an LLVM Assembly file. |
|
Parse a module summary index from an LLVM Assembly string. |
|
Perform index‐based whole‐program devirtualization on |
|
Mark exported values external and non‐exported values internal in the index. |
|
Propagate function attributes for function summaries along the index's callgraph during thinlink |
|
Update recorded single‐impl WPD target names after cross‐module importing. |
|
Update SamplePGO indirect call edges to local functions when needed. |
|
Update virtual‐call visibility in the module summary index. |
|
Write a module summary index to |
Created with MrDocs