LLVM  6.0.0svn
Classes | Namespaces | Typedefs
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/IR/GlobalValue.h"
#include "llvm/IR/Module.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 >
 This class should be specialized by any type that needs to be converted to/from a YAML mapping. More...
 
struct  llvm::CalleeInfo
 Class to accumulate and hold information about a callee. More...
 
struct  llvm::GlobalValueSummaryInfo
 
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::FFlags
 Function attribute flags. 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::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...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 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...
 

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.