LLVM
8.0.1
|
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>
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 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) |
static bool | llvm::canImportGlobalVar (GlobalValueSummary *S) |
ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and summary for function importing.
Definition in file ModuleSummaryIndex.h.