LLVM  8.0.1
Classes | Namespaces | Typedefs | Functions
ModuleSummaryIndex.h File Reference

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/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/TinyPtrVector.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 <algorithm>
#include <array>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <map>
#include <memory>
#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.

Classes

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 >
 
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::DenseMapInfo< FunctionSummary::VFuncId >
 
struct  llvm::DenseMapInfo< FunctionSummary::ConstVCall >
 
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::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

 llvm
 This class represents lattice values for constants.
 
 llvm::yaml
 

Typedefs

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::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...
 

Functions

const charllvm::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)
 
static bool llvm::canImportGlobalVar (GlobalValueSummary *S)
 

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.