LLVM  10.0.0svn
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::ValueInfo Struct Reference

Struct that holds a reference to a particular GUID in a global value summary. More...

#include "llvm/IR/ModuleSummaryIndex.h"

Collaboration diagram for llvm::ValueInfo:
Collaboration graph
[legend]

Public Types

enum  Flags { HaveGV = 1, ReadOnly = 2, WriteOnly = 4 }
 

Public Member Functions

 ValueInfo ()=default
 
 ValueInfo (bool HaveGVs, const GlobalValueSummaryMapTy::value_type *R)
 
 operator bool () const
 
GlobalValue::GUID getGUID () const
 
const GlobalValuegetValue () const
 
ArrayRef< std::unique_ptr< GlobalValueSummary > > getSummaryList () const
 
StringRef name () const
 
bool haveGVs () const
 
bool isReadOnly () const
 
bool isWriteOnly () const
 
unsigned getAccessSpecifier () const
 
bool isValidAccessSpecifier () const
 
void setReadOnly ()
 
void setWriteOnly ()
 
const GlobalValueSummaryMapTy::value_type * getRef () const
 
bool isDSOLocal () const
 
bool canAutoHide () const
 Checks if all copies are eligible for auto-hiding (have flag set). More...
 

Public Attributes

PointerIntPair< const GlobalValueSummaryMapTy::value_type *, 3, int > RefAndFlags
 

Detailed Description

Struct that holds a reference to a particular GUID in a global value summary.

Definition at line 164 of file ModuleSummaryIndex.h.

Member Enumeration Documentation

◆ Flags

Enumerator
HaveGV 
ReadOnly 
WriteOnly 

Definition at line 165 of file ModuleSummaryIndex.h.

Constructor & Destructor Documentation

◆ ValueInfo() [1/2]

llvm::ValueInfo::ValueInfo ( )
default

◆ ValueInfo() [2/2]

llvm::ValueInfo::ValueInfo ( bool  HaveGVs,
const GlobalValueSummaryMapTy::value_type *  R 
)
inline

Definition at line 170 of file ModuleSummaryIndex.h.

Member Function Documentation

◆ canAutoHide()

bool ValueInfo::canAutoHide ( ) const

Checks if all copies are eligible for auto-hiding (have flag set).

Definition at line 41 of file ModuleSummaryIndex.cpp.

References llvm::all_of(), and getSummaryList().

Referenced by thinLTOResolvePrevailingGUID().

◆ getAccessSpecifier()

unsigned llvm::ValueInfo::getAccessSpecifier ( ) const
inline

Definition at line 201 of file ModuleSummaryIndex.h.

References assert().

◆ getGUID()

GlobalValue::GUID llvm::ValueInfo::getGUID ( ) const
inline

◆ getRef()

const GlobalValueSummaryMapTy::value_type* llvm::ValueInfo::getRef ( ) const
inline

◆ getSummaryList()

ArrayRef<std::unique_ptr<GlobalValueSummary> > llvm::ValueInfo::getSummaryList ( ) const
inline

◆ getValue()

const GlobalValue* llvm::ValueInfo::getValue ( ) const
inline

Definition at line 178 of file ModuleSummaryIndex.h.

References assert().

◆ haveGVs()

bool llvm::ValueInfo::haveGVs ( ) const
inline

Definition at line 192 of file ModuleSummaryIndex.h.

Referenced by llvm::DenseMapInfo< ValueInfo >::isEqual().

◆ isDSOLocal()

bool ValueInfo::isDSOLocal ( ) const

◆ isReadOnly()

bool llvm::ValueInfo::isReadOnly ( ) const
inline

Definition at line 193 of file ModuleSummaryIndex.h.

References assert().

Referenced by resolveFwdRef().

◆ isValidAccessSpecifier()

bool llvm::ValueInfo::isValidAccessSpecifier ( ) const
inline

Definition at line 205 of file ModuleSummaryIndex.h.

◆ isWriteOnly()

bool llvm::ValueInfo::isWriteOnly ( ) const
inline

Definition at line 197 of file ModuleSummaryIndex.h.

References assert().

Referenced by resolveFwdRef().

◆ name()

StringRef llvm::ValueInfo::name ( ) const
inline

◆ operator bool()

llvm::ValueInfo::operator bool ( ) const
inline

Definition at line 175 of file ModuleSummaryIndex.h.

◆ setReadOnly()

void llvm::ValueInfo::setReadOnly ( )
inline

Definition at line 209 of file ModuleSummaryIndex.h.

References assert().

Referenced by resolveFwdRef().

◆ setWriteOnly()

void llvm::ValueInfo::setWriteOnly ( )
inline

Definition at line 215 of file ModuleSummaryIndex.h.

References assert().

Referenced by resolveFwdRef().

Member Data Documentation

◆ RefAndFlags

PointerIntPair<const GlobalValueSummaryMapTy::value_type *, 3, int> llvm::ValueInfo::RefAndFlags

Definition at line 167 of file ModuleSummaryIndex.h.


The documentation for this struct was generated from the following files: