|
LLVM 22.0.0git
|
ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and summary for function importing. More...
#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringMap.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/iterator_range.h"#include "llvm/IR/ConstantRange.h"#include "llvm/IR/GlobalValue.h"#include "llvm/IR/Module.h"#include "llvm/Support/Allocator.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/InterleavedRange.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/ScaledNumber.h"#include "llvm/Support/StringSaver.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include <array>#include <cassert>#include <cstddef>#include <cstdint>#include <map>#include <memory>#include <optional>#include <set>#include <string>#include <unordered_set>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | llvm::CalleeInfo |
| Class to accumulate and hold information about a callee. More... | |
| struct | llvm::GlobalValueSummaryInfo |
| union | llvm::GlobalValueSummaryInfo::NameOrGV |
| struct | llvm::ValueInfo |
| Struct that holds a reference to a particular GUID in a global value summary. More... | |
| struct | llvm::DenseMapInfo< ValueInfo > |
| struct | llvm::ContextTotalSize |
| struct | llvm::CallsiteInfo |
| Summary of memprof callsite metadata. More... | |
| struct | llvm::MIBInfo |
| Summary of a single MIB in a memprof metadata on allocations. More... | |
| struct | llvm::AllocInfo |
| Summary of memprof metadata on allocations. More... | |
| class | llvm::GlobalValueSummary |
| Function and variable summary information to aid decisions and implementation of importing. More... | |
| struct | llvm::GlobalValueSummary::GVFlags |
| Group flags (Linkage, NotEligibleToImport, etc.) as a bitfield. More... | |
| class | llvm::AliasSummary |
| Alias summary information. More... | |
| class | llvm::FunctionSummary |
| Function summary information to aid decisions and implementation of importing. More... | |
| struct | llvm::FunctionSummary::VFuncId |
| An "identifier" for a virtual function. More... | |
| struct | llvm::FunctionSummary::ConstVCall |
| A specification for a virtual function call with all constant integer arguments. More... | |
| struct | llvm::FunctionSummary::TypeIdInfo |
| All type identifier related information. More... | |
| struct | llvm::FunctionSummary::FFlags |
| Flags specific to function summaries. More... | |
| struct | llvm::FunctionSummary::ParamAccess |
| Describes the uses of a parameter by the function. More... | |
| struct | llvm::FunctionSummary::ParamAccess::Call |
| Describes the use of a value in a call instruction, specifying the call's target, the value's parameter number, and the possible range of offsets from the beginning of the value that are passed. More... | |
| struct | llvm::DenseMapInfo< FunctionSummary::VFuncId > |
| struct | llvm::DenseMapInfo< FunctionSummary::ConstVCall > |
| struct | llvm::VirtFuncOffset |
| The ValueInfo and offset for a function within a vtable definition initializer array. More... | |
| class | llvm::GlobalVarSummary |
| Global variable summary information to aid decisions and implementation of importing. More... | |
| struct | llvm::GlobalVarSummary::GVarFlags |
| struct | llvm::TypeTestResolution |
| struct | llvm::WholeProgramDevirtResolution |
| struct | llvm::WholeProgramDevirtResolution::ByArg |
| struct | llvm::TypeIdSummary |
| class | llvm::CfiFunctionIndex |
| class | llvm::CfiFunctionIndex::GUIDIterator |
| struct | llvm::TypeIdOffsetVtableInfo |
| The following data structures summarize type metadata information. More... | |
| class | llvm::ModuleSummaryIndex |
| Class to hold module path string table and global value map, and encapsulate methods for operating on them. More... | |
| struct | llvm::GraphTraits< ValueInfo > |
| GraphTraits definition to build SCC for the index. More... | |
| struct | llvm::GraphTraits< ModuleSummaryIndex * > |
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
| namespace | llvm::yaml |
Typedefs | |
| using | llvm::GlobalValueSummaryList = std::vector<std::unique_ptr<GlobalValueSummary>> |
| using | llvm::GlobalValueSummaryMapTy |
| Map from global value GUID to corresponding summary structures. | |
| using | llvm::VTableFuncList = std::vector<VirtFuncOffset> |
| List of functions referenced by a particular vtable definition. | |
| using | llvm::ModuleHash = std::array<uint32_t, 5> |
| 160 bits SHA1 | |
| using | llvm::const_gvsummary_iterator = GlobalValueSummaryMapTy::const_iterator |
| Type used for iterating through the global value summary map. | |
| using | llvm::gvsummary_iterator = GlobalValueSummaryMapTy::iterator |
| using | llvm::ModulePathStringTableTy = StringMap<ModuleHash> |
| String table to hold/own module path strings, as well as a hash of the module. | |
| using | llvm::GVSummaryMapTy = DenseMap<GlobalValue::GUID, GlobalValueSummary *> |
| Map of global value GUID to its summary, used to identify values defined in a particular module, and provide efficient access to their summary. | |
| using | llvm::ModuleToSummariesForIndexTy |
| Map of a module name to the GUIDs and summaries we will import from that module. | |
| using | llvm::GVSummaryPtrSet = std::unordered_set<GlobalValueSummary *> |
| A set of global value summary pointers. | |
| using | llvm::TypeIdSummaryMapTy |
| Map of a type GUID to type id string and summary (multimap used in case of GUID conflicts). | |
| using | llvm::TypeIdCompatibleVtableInfo = std::vector<TypeIdOffsetVtableInfo> |
| List of vtable definitions decorated by a particular type identifier, and their corresponding offsets in that type identifier's metadata. | |
Enumerations | |
| enum class | llvm::AllocationType : uint8_t { llvm::None = 0 , llvm::NotCold = 1 , llvm::Cold = 2 , llvm::Hot = 4 , llvm::All = 7 } |
Functions | |
| const char * | llvm::getHotnessName (CalleeInfo::HotnessType HT) |
| raw_ostream & | llvm::operator<< (raw_ostream &OS, const ValueInfo &VI) |
| bool | llvm::operator== (const ValueInfo &A, const ValueInfo &B) |
| bool | llvm::operator!= (const ValueInfo &A, const ValueInfo &B) |
| bool | llvm::operator< (const ValueInfo &A, const ValueInfo &B) |
| raw_ostream & | llvm::operator<< (raw_ostream &OS, const CallsiteInfo &SNI) |
| raw_ostream & | llvm::operator<< (raw_ostream &OS, const MIBInfo &MIB) |
| raw_ostream & | llvm::operator<< (raw_ostream &OS, const AllocInfo &AE) |
ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and summary for function importing.
Definition in file ModuleSummaryIndex.h.