LLVM  17.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
ModuleSummaryIndex.h File Reference
#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/IR/ConstantRange.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Allocator.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 <utility>
#include <vector>
Include dependency graph for ModuleSummaryIndex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  llvm::GraphTraits< GraphType >
struct  llvm::yaml::MappingTraits< T >
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::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
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 * >


 This is an optimization pass for GlobalISel generic memory operations.


using llvm::GlobalValueSummaryList = std::vector< std::unique_ptr< GlobalValueSummary > >
using llvm::GlobalValueSummaryMapTy = std::map< GlobalValue::GUID, GlobalValueSummaryInfo >
 Map from global value GUID to corresponding summary structures. More...
using llvm::VTableFuncList = std::vector< VirtFuncOffset >
 List of functions referenced by a particular vtable definition. More...
using llvm::ModuleHash = std::array< uint32_t, 5 >
 160 bits SHA1 More...
using llvm::const_gvsummary_iterator = GlobalValueSummaryMapTy::const_iterator
 Type used for iterating through the global value summary map. More...
using llvm::gvsummary_iterator = GlobalValueSummaryMapTy::iterator
using llvm::ModulePathStringTableTy = StringMap< std::pair< uint64_t, ModuleHash > >
 String table to hold/own module path strings, which additionally holds the module ID assigned to each module during the plugin step, as well as a hash of the module. More...
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. More...
using llvm::TypeIdSummaryMapTy = std::multimap< GlobalValue::GUID, std::pair< std::string, TypeIdSummary > >
 Map of a type GUID to type id string and summary (multimap used in case of GUID conflicts). More...
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. More...


enum  llvm::AllocationType : uint8_t { llvm::AllocationType::None = 0, llvm::AllocationType::NotCold = 1, llvm::AllocationType::Cold = 2 }


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)

Detailed Description

ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and summary for function importing.

Definition in file ModuleSummaryIndex.h.